Comparte en Facebook Twitter Google+

banner-componentes-dinamicos-blade-laravel

Cuando queremos que el usuario elija una opción dentro de una lista establecida de alternativas en nuestros formularios, se utilizan ciertos elementos como el combobox, el checkbox, entre otros. Las opciones de estos elementos pueden ser estáticas, es decir que siempre van serán las mismas, pero también pueden ser dinámicas como voy a mostrar mostrar a continuación.

Para efectos de este ejemplo vamos a necesitar datos de prueba, así que comenzaremos por crear una migración:

modificamos el archivo de la migración:

Creamos un seeder para nuestra tabla categories con el comando:

Modificamos nuestro seeder, para que nos genere luego 3 categorías:

Recuerda realizar el llamado del seeder en el archivo DatabaseSeeder.php, el cual quedaría así:

Ahora vamos a ejecutar nuestra migración y  también el seeder:

Recuerda tener la configuración adecuada para tu base de datos en tu archivo .env.

shell

Excelente, ya todo se creó correctamente. Aprovechemos de crear el modelo Category, con el comando:

Listo otro lado,  tenemos que  crear un controlador, el cual llamaremos  FormController.php. Esto lo podemos lograr ejecutando en consola el siguiente cofmando:

creamos una función index en ese controlador para que envíe todas las categorías a una vista que llamaremos form:

Nota: recuerda importar el modelo Category.

en el archivo Http/routes.php  agregamos la ruta correspondiente a esa función:

Por último, creamos la vista en resources/view/, la cual llamaremos form.blade.php. Modificamos la vista con el siguiente código que contiene varios elementos dinámicos que podemos utilizar en nuestros formularios:

Para visualizar el resultado, dirígete a la ruta nombre_de_tu_proyecto/form.

formElements

Artículos relacionados

Espero que sea de utilidad, cualquier duda o comentario será bien recibida. Recuerda compartir la lección en tus redes sociales.

Aprende PHP, Laravel y más por sólo 999 al mes: ver planes.

Lección anterior Pre-visualizar las sentencias SQL de tus migraciones con --pretend Lección siguiente Artisan, la interfaz de línea de comandos de Laravel