Vamos a crear la BD colegio que va a tener la tabla Alumno
En el fichero .env
Migraciones
Creamos la migración de la tabla
Si queremos hacer la migración y el modelo a la vez ( tened en cuenta que se va a crear siguiendo las convenciones de laravel: nombre del modelo.- en nuestro caso será Alumno y la tabla asociada a ese modelo sera alumnos)
Vamos a las migraciones, donde se ha creado una nueva para alumnos (la tabla es alumnos)
Que contiene
una clave de identificación (por defecto autoincrementable)
dos columnas ( created_at y updated_at ) creadas por el método de marcas de tiempo .
Vamos a modificar la tabla con los campos que queremos
Para ejecutar la migración creada
En la BD
La tabla alumnos
Seeder Alumno
Añadimos la referencia de la clase Alumno:
Creamos la variable $alumno, llenamos sus propiedades y finalmente utilizamos el método save(); igualmente llenamos con tres registros nuestra tabla alumnos.
Cuando ejecutamos los Seeders desde Artisan, este llama a la única clase que es DatabaseSeeder. Por lo tanto para ejecutar los demás Seeders creados debemos instanciar a esta clase con el método call().
Ejecutar Seeders
Ya podemos cargar de datos la tabla de nuestra base de datos Ejecutamos la siguiente línea de código que llenará las tablas con datos.
Para verificar los cambios en la base de datos, me voy a lo que es phpMyAdmin desde mi navegador, actualizo la página, abrimos la tabla y podemos verificar que los datos que definimos en los Seeders se encuentran cargados.
En la BD la tabla alumnos
Factories en Laravel
Con los Seeders que nos proporciona Laravel ya podemos llenar la tablas de nuestra base de datos. Sin embargo, es limitado ya que, si queremos llenar más de 10, 100 registros sería prácticamente un ejerció en sufrimiento. Porque se crea una variable por cada registro de la tabla.
Por esta razón Laravel cuenta con los Factories que es otra forma de llenar los datos de una forma más automatizada, y generar gran cantidad de datos.
Los Factories son sencillos de utilizar, solo se debe especificar en cada campo de la tabla que tipo de dato se quiere llenar, posteriormente la cantidad de registros que se quiere generar en la tabla.
Factory Alumnos
Ahora lo primero que aremos es crear nuestra clase AlumnoFactory con Artisan escribimos la siguiente línea de código.
Y cambiamos en el DatabaseSeeder
Ejecutamos seeders
Modelo
Si solo hacemos el modelo
Si usamos el modelo con –a (para que cree modelo, migración, seeder, Factory y controlador resource
Con la instrucción utilizada en el ejercicio
Ha creado el modelo Alumno
Con el código:
Registramos las configuraciones de la tabla Alumnos.
Lo modificamos
Si es necesario podemos hacer public $timestamps = false;
Podemos crear funciones . Ejemplo
La función “Obteneralumnos” utiliza el método all() para obtener todo el listado de los alumnos de la tabla.
La función “ObtenerAlumnoPorId” utiliza el método find() pasando un parámetro Id para obtener a un determinado alumno.
que podrían estar en el modelo
Controladores
Crear Controlador alumnos
Si queremos que se creen todas las funciones necesarias para un CRUD
Se creará todos los métodos que necesitamos
Lo primero que haremos es llamar a la referencia del modeloAlumno .
Dentro de la función index escribimos la siguiente consulta.
De igual forma obtendremos todos los datos de la tabla alumnos. Seguidamente, retornaremos en la variable $alumnos a la vista alumnos.
Crear ruta
Seguidamente, vamos a crear la ruta, trabajaremos con el archivo web.php que se encuentra en el directorio routes.
En primer lugar, se debe hacer referencia al controlador:
En segundo lugar, crearemos las rutas de tipo get que harán la referencia al método index de nuestro controlador. Por último, le asignamos un nombre a nuestra ruta.
Plantillas Blade
Crear vista alumnos
Crear la carpeta alumnos y dentro de este creamos el archivo index.blade.php , introducimos el código de la vista alumnos finalizar también añadimos el código css para mejorar un poco el diseño de la vista.
Si vamos a http://localhost/nombreproyecto/public/alumnos nos muestra el resultado
laravel para paginar utiliza el Tailwind CSS y debes cambiarlo a Bootstrap, para esto utiliza el comando
Y luego puedes personalizar las vistas generadas en resources/views/vendor/pagination/ o cambiar la vista por defecto a una que prefieras de Bootstrap en tu vista seria así:
Nota :Versión 9
Bootstrap 5 Pagination Views
Laravel ahora incluye vistas de paginación creadas con Bootstrap 5. Para usar estas vistas en lugar de las vistas predeterminadas de Tailwind, puede llamar al método useBootstrapFive del paginador dentro del método boot de su clase App\Providers\AppServiceProvider:
Método create y store
Vamos con los métodos de create() y store() del controlador AlumnoController.
En el método create() escribimos el siguiente código:
En el método store() el siguiente código:
Rutas web (create y store)
Ahora crearemos las rutas de tipo de create() y store() que harán la referencia al método get() y post() de nuestro controlador.
Primero abrimos nuestro archivo web.php, las funciones get() y post() se encargaran de realizar las peticiones a los métodos de nuestro controlador Alumno.
Formularios Blade (crear alumno)
Ahora crearemos los formularios en las vistas, utilizaremos las plantillas Blade que te ofrece Laravel.
Para la navegabilidad entre ventanas en los archivos index de Alumnos y añadiremos un enlace que cuando hagamos clic redireccione al formulario de crear, en mi caso yo le colocaré antes del título de la vista.
Quedando
Formulario crear Alumnos
Laravel te exige un @csrf Token con el propósito de prevenir posibles ataques a las peticiones solicitadas en formularios HTML.
Realizamos los mismos pasos al crear el formulario de la vista alumnos. Primero creamos el archivo crear.blade.php en la ruta resources/views/alumnos y escribimos el siguiente código:
vamos a poner el css de momento en la misma vista
Want to print your doc? This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (