En este tutorial te mostraré cómo crear un CRUD en Laravel con un generador de CRUD’s de manera muy rápida con lo que ahorrarás tiempo en el desarrollo de tus proyectos en Laravel. Al final del tutorial encontrarás la dirección del repositorio de este proyecto. Sin más manos a la obra.
Ve a la raíz en la carpeta en donde guardas tus proyectos como htdocs o www y abre la carpeta en la terminal de comandos, escribe la siguiente instrucción:
composer create-project laravel/laravel crud-with-generator
También vas a instalar Laravel/ui para la autenticación, para este proyecto usaré Bootstrap como framework CSS, en la terminal escribe la siguiente secuencia de comandos:
composer require laravel/ui php artisan ui bootstrap --auth npm install npm run dev
En ocasiones el comando ‘npm run dev’ se debe de correr dos veces.
Para crear una nueva base de datos escribe desde la terminal las siguientes instrucciones, recuerda acceder con tus debidas credenciales:
mysql -u root -p CREATE DATABASE crud_generator CHARACTER SET utf8 COLLATE utf8_spanish_ci;
Para crear la tabla clientes escribe en la terminal:
php artisan make:migration create_costumers_table
Abre el proyecto con tu editor de código favorito, en mi caso usaré VS Code, abre el archivo database/migrations/2022_xx_xx_create_costumers_tabla.php y agrega lo siguiente:
Schema::create('costumers', function (Blueprint $table) { $table->id(); $table->string('name'); $table->string('email'); $table->string('phone'); $table->string('address')->nullable(); $table->timestamps(); });
Con tu editor de textos abre el archivo .env y agrega los datos de la base de datos que creaste anteriormente:
Desde la terminal de comandos corre las migraciones con el siguiente comando:
php artisan migrate
Para crear un CRUD en Laravel con un generador de CRUD’s desde la terminal de comandos es necesario instalar el paquete ‘crud-generator’, escribe:
composer require ibex/crud-generator --dev
Para acceder a la configuración de la librería o paquete escribe:
php artisan vendor:publish --tag=crud
Para crear tu primer CRUD con Laravel CRUD generator escriben en la terminal de comandos:
php artisan make:crud costumers
Podrás ver que se crean el controlador, el modelo y las vistas del CRUD tomando de referencia para generarlas el nombre de la tabla customers:
Ahora tienes que agregar las rutas de cada una de las vistas de tu CRUD, abre el archivo route/web.php y agrega el siguiente renglón de código:
Route::resource('costumers', [CostumerController::class]);
No olvides agregar la clase ‘CostumerController’ al inicio del arhivo:
Si quieres proteger la ruta para que solamente usuarios autenticados accedan puedes agregar el middleware ‘auth’ a la ruta y cambia la vista en la ruta ‘/’ por ‘auth.login’ como se muestra en la imagen anterior.
Desde el editor de textos abre el archivo resources/views/layouts/app.blade.php y en la clase ‘navbar-nav me-auto’ agrega la siguiente línea de código:
@auth <a class="nav-link" href="{{ URL::to('costumers') }}">{{ __('Costumers') }}</a> @endauth
Para probar tu CRUD en el navegador, en la terminal de comandos escribe:
php artisan serve
Ahora abre tu navegador y escribe la dirección que se te mostró en la terminal de comandos al activar el servidor, verás la vista para loguearse al sistema:
Registrate en el sistema:
Ve a la pestaña Costumers y crea el primer cliente:
De aquí en adelante ya puedes crear nuevos clientes, editar, mostrar y borrar.
En este tutorial te mostré cómo crear un CRUD en Laravel con un generador de CRUD’s llamado crud-generator, el cual te permite crear CRUD’s en muy pocos pasos. Sí este tutorial te ha servido te invito a compartirlo en tus redes sociales para llegar a más personas y si tienes dudas o comentarios déjalos en la caja de comentarios, estaré al pendiente de ellos. Te envío un saludo.
Referencias:
Repositorio del tutorial
Laravel CRUD generator
El lanzamiento de Laravel 11 está muy próximo ya que está programado para el tercer…
En este tutorial aprenderás una solución para cuando WordPress no envía correos y esto puede…
En este tutorial aprenderás cómo configurar distintos Virtual Host en Ubuntu Desktop y de esta…
En este tutorial aprenderás cómo instalar stack LAMP en Linux Mint fácilmente y de esta…
En este tutorial aprenderás paso a paso cómo crear una USB multiboot con distintos OS…
El desarrollo de temas y plugins para WordPress es un nicho muy específico en el…
Ver comentarios
Me funciono el CRUD, pero no me aplico los estilos, como hacer para que le aplique estilos, esta solo en html
Hola, gracias por visitar y comentar, si gustas puedes bajar el repositorio del proyecto en https://github.com/diarioprogramador/crud-with-generator lo acabo de volver a probar y si están cargando correctamente los estilos. Si sigues teniendo problemas me avisas. Saludos.
Me ayudaste mucho, muchas gracias solo que no cargna los esilos de bootstrap
Hola Marco, gracias por visitar y comentar. Te dejo la dirección del repositorio para que lo descargues, hace un par de semanas acabo de probarlo y los estilos están funcionando https://github.com/diarioprogramador/crud-with-generator . Te mando un saludo.
tengo este problema, me pueden ayudar, estoy generando el crud con postgres. solo me genera el controller, el modelo y las view me genera este error.
SQLSTATE[42601]: Syntax error: 7 ERROR: error de sintaxis en o cerca de «FROM»
LINE 1: SHOW COLUMNS FROM Empleados
^ (SQL: SHOW COLUMNS FROM Empleados)
Hola Jairo, gracias por visitar y comentar. Para ayudarte mejor, me puedes mandar captura o compartir el código de tu controlador, modelo, migración y vistas, de esa manera podré tener un panorama más amplio, mi correo es info@diarioprogramador.com . Saludos.
Muy buen tutorial !!!
Excelente !!!
Me ayudo un monton a poder entender un poco CRUD con laravel 9 .
Gracias
Cualquier otro tuto de laravel se agradece, estoy estudiando los otros que subiste .
Gracias .
Segui los pasos al pie de la letra, mientras estudiaba lo que hacia....
Y despues de varios intentos, funciono correctamente.
Ojo, siguiendo todos y cada uno de los pasos.
Nota, para los muy nuevos:
en entornos GNU/Linux:
ejecutar:
npm run dev & php artisan serve
o cada comando en una terminal, en la ruta del proyecto.
Tienen que estar ejecutandose ambos al mismo tiempo para que se ejecutre el programa correctamente.
Lo aclaro por el tema de los estilos ...
Pd. gran trabajo el de este blog, genial !!!!! GRACIAS !!!!!!!!!!!!!!!!!!1
Hola Facundo, gracias por visitar y compartir tu experiencia siempre es enriquecedor, te mando un cordial saludo!!!
Hola Facundo de nueva cuenta :) !! Me alegra mucho que este tutorial te haya ayudado, la próxima semana comienzo a subir más tutos de Laravel. Saludos!
Excelente !!
Muchas Gracias
tengo el mismo problema, como lo arreglaron?
Hola muy buen articulo, solo que al ejecutar el comando php artisan make:crud table-name me salta un error:
Call to undefined method Illuminate\Database\Schema\MySqlBuilder::getColumns()
at C:\Users\Admin\topdestadmin\vendor\laravel\framework\src\Illuminate\Support\Facades\Facade.php:338
334▕ if (! $instance) {
335▕ throw new RuntimeException(‘A facade root has not been set.’);
336▕ }
337▕
➜ 338▕ return $instance->$method(…$args);
339▕ }
340▕ }
341▕
1 C:\Users\Admin\topdestadmin\vendor\ibex\crud-generator\src\Commands\GeneratorCommand.php:391
Illuminate\Support\Facades\Facade::__callStatic(«getColumns»)
2 C:\Users\Admin\topdestadmin\vendor\ibex\crud-generator\src\Commands\GeneratorCommand.php:425
Estuve googleando y no encontre mucho al respecto, probe laravel 8 y 9 gracias
Hola Piero, gracias por visitar y comentar. Te recomiendo ponerte en contacto con el creador de la biblioteca puedes encontrar su correo al final de la siguiente página: https://github.com/awais-vteams/laravel-crud-generator y si pudieras dar retroalimentación te lo agradecería mucho, saludos!
OK muchisimas gracias, tienes excelente pagina, me pondre en contacto con el creador de la libreria.
Hola, si lo pudiste solucionar? me aparece el mismo error 😦
A mi también me pasa ese error, pero por lo que estoy viendo ese paquete da error en la versión mas nueva de Laravel, yo lo había usado meses antes, específicamente en la versión 9 y volví a crear un proyecto en la versión 9 de Laravel y funciona, genera el crud pero extrañamente en esa versión de Laravel 9 no se me ejecuta el npm run dev para las vistas, por lo cual a mi parecer hay error en esa librería en versiones nuevas de Laravel e intentarlo en versiones mas desactualizadas de Laravel da muchos problemas por el npm, fui al repo del creador y no hay información del error.
Hola que tal buenas, he probado pero tengo tema a la hora de querer implementar mas cosas como campos para adjuntar archivos, validaciones me da error y a veces guarda registros pero no se ven, supongo que por ser Laravel 11 tiene otra configuracion, me podrian apoyar?