-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathnotas.txt
executable file
·114 lines (98 loc) · 6.88 KB
/
notas.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
//MIGRACIONES\\
php artisan migrate == realizar migracion
php artisan migrate:roolback ==revertir la ultima migracion
php artisan migrate:fresh == deshace todas las migraciones anteriores (no importa si metodo down (eliminacion de tabla) esta incorrecto o no existe)
y luego ejecuta todas las migraciones nuevamente
eliminando todas las tablas y datos de la base de datos.
php artisan migrate:refresh == deshace todas las migraciones anteriores (si metododown (eliminacion de tabla) esta incorrecto o no existe no la elimina)
y luego ejecuta todas las migraciones nuevamente
eliminando todas las tablas y datos de la base de datos.
ademàs de Ejecuta los seeders (si los tiene) para poblar la base de datos .
php artisan migrate:reset == es utilizado para deshacer todas las migraciones y eliminar las tablas y
datos creados por ellas en la base de datos. (solo revierte las migraciones ejecutadas a través de Laravel, no afecta a ninguna otra tabla o datos que no estén relacionados con las migraciones.)
//SEEDERS
php artisan db:seed es utilizado para ejecutar los seeders de la base de datos en Laravel, lo que permite insertar datos
de prueba o semilla en la base de datos de manera automatizada
SOLUCION DE CARGA EXTENCION MSTRING (necesaria para pasar seeder a base de datos)
Instala la extensión mbstring utilizando el administrador de paquetes de tu sistema operativo. Ubuntu puedes ejecutar
sudo apt-get install php-mbstring y en CentOS puedes ejecutar sudo yum install php-mbstring.
/ejecuta fresh luego seed\
Php artisan migrate:flesh --seed
// ELOQUEND \\
/:consultas simples
App\Models\Banda;
$banda = Banda::all(); //imprimir tosdos los registros en una coleccion
$bandas = Banda::where('categoria','trap')->get(); //registros filtrados por categoria
$bandas = Banda::where('categoria','trap')->orderBy('id','desc')->get(); //sacar registro en orden desentente y filtrado por categoria
$bandas = Banda::where('categoria','trap')->orderBy('name','asc')->get(); //registros en orden acendente por name
$bandas = Banda::where('categoria','trap')->orderBy('name','asc')->first(); //devuelve primer registro no mas
$bandas = Banda::Select('name','categoria')->get(); //devolver solo algunos atributos (campos)
$bandas = Banda::Select('name as title','categoria')->orderBy('name','asc')->where('categoria','trap')->get(); //cambiando nombre de un campo
$bandas = Banda::Select('name as title','categoria')->orderBy('name','asc')->where('categoria','trap')->take(2)->get(); //vevolviendo solo 2 registros
$bandas = Banda::where('name','NEFFEX')->first(); //vevolver registro con name especifico
$bandas = Banda::find(4); //devuelve registro con determinado id es lo mismo que ($bandas = Banda::where('id','4')->first();) pero laravle proporcion aesta facilidad.
/consultas mas complejas
$bandas = Banda::where('id','>','10')->get(); //debuelve registros con id mayor a 10
$bandas = Banda::where('categoria','like','%ra%')->get(); //devuelve todos los registros de la tabla Banda cuya columna categoria contenga la subcadena "ra".
/MUTADORES Y ACCESORES
dentro de modelo en donde deseo modificar
use Illuminate\Database\Eloquent\Casts\Attribute; =necesario para crear un mutador o accesor
ejemplo de mutador y accesor
protected function name():Attribute {
return new Attribute(
//(un accesor funciona cuando se hace consulta en base de datos) no modifica el valor en base de datos solo es para presentacion final
get: fn($value)=> ucwords($value), //funcion flecha
//(Un mutador es un método que define cómo se debe modificar un valor de atributo ANTES de guardarlo en la base de datos. )
set: function($value){
return strtolower($value); //funcion normal
}
);
}
//validaciones de formularios
//antes de intentar guardar datos en store habitualmente,debo validar
//si hay algun fallo laravel redirecciona de nuevo al form
//aparte para asi evitar ensuciar el controlador alli colocar validaciones si son muchas o deseo personalizarlas
php artisan make:request StoreBanda
'name'=>'required|max:10'
//para imprimir erros debo en vista poner: error aparecen en ingles, si deseo español ir a comunidad (gihub) y
//copiar las traducciones (carpeta es) en resources/lang/ y en config/app,php buscar: 'locale' => 'en' y cambiar a 'es',
@error('descripcion') = name de input
<br>
<small>*{{$message /*viene de resources/lang*/}}</small>
<br>
@enderror
//si usuario se oliva de un campo pagina se redirecciona borrando todo, para evitar esto en el input colocar
value="{{old('name')}}"
//si deseo colocar ,uchas validaciones es mejor colocarlos en archivos
//RUtas con resources y modificar en caso de star inconforme
//si deseo traducir las urls (create,edit etc)
en documentacion buscar controladores, CRL F 'resourceVerbs' y seguir los pasos
//si deseo modificar en este caso 'banda' (Route::resource('banda',BandaController::class); )
//pero sin afectar mi web (mis rutas), debo pasar el methodo names('banda')
Route::resource('bandaCambiado',BandaController::class)->names('banda');
//CURIOSIDADES
//darl estilo a link si esta alli
forma corta de un if y else (si esta en la ruta aagregar clase active, si no nada)
{{route('banda.index')}}" class="{{request()->routeIs('banda.*') ? 'active' : ''}}
// enviar emails con Laravel (en este caso con mailtrap el cual se usa nne entorno de desarrollo )
tener cuenta de mailtrap Y pasar credenciales al .env
//CREAR UN MAILABLE y dentro configurar ruta de la vista y asunto en subject
php artisan make:mail ContactanosMailable
//alerta si se hizo una accion con exito (usando with)
//en controlador
return redirect(route('contactanos.index'))->with('info','mensaje enviado exitosamente');
//en vista
@if (session('info'))
<script>
alert("{{session('info')}}")
</script>
@endif
'#%J.A.C.A88COntR@Cna~' /contraseña
@robertjota
@robertjota
hace 1 año
a mi no me funcionaba como en el video, estoy usando laravel 9 y según la documentación debes cambiar esta linea de codigo:
return new Attribute(
por esta
return Attribute::make (
y asi me funciono muy bien, espero le sirva a los demás, saludos