Crud Generator Laravel is a package that you can integrate into your Laravel to create a REAL CRUD :
composer require mrdebug/crudgen --dev
composer require laravelcollective/html
php artisan vendor:publish
Let's make a real-life example: Build a blog
Post has many (hasMany)
Comment and belongs to many (belongsToMany) Tag
Post can have a
title and a
CRUD generator command:
php artisan make:crud nameOfYourCrud "column1:type, column2"
php artisan make:crud post "title:string, content:text"
(for our example).
When you call this command, controller, views, and requests are generated with your fields (here: title and content).
Now let's add our relationships (Comment and Tag models) :
We add an
hasMany relationship between our
Comment and a
belongsToMany with Tag
If you look good, two migrations are created (
create_posts will be your table for your
create_post_tag is a pivot table to handle the
Post model is generated too with both relationships added
Both migration files are created in your database/migrations directory. If necessary edit them and run :
php artisan migrate
A controller file is created in your
app/Http/Controllers directory. All methods (index, create, store, show, edit, update, destroy) are filled with your fields.
To create your routes for this new controller, you can do this :
(don't forget to import your
PostsController in your
A request file is created in your
app/Http/Requests directory. By default, all fields are required, you can edit it according to your needs.
A views directory is created in your
Add your Comment CRUD (with a column comment and a
php artisan make:crud comment "comment:text, post_id:integer"
Tag CRUD (with a column name)
php artisan make:crud tag "name"
You can delete all files (except migrations) created by the
make:crud command at any time (you don't need to remove all files by hand)
php artisan rm:crud nameOfYourCrud --force
(in our example)
php artisan rm:crud post --force
--force (optional) can delete all files without confirmation.
For more details, please visit Github
Published at : 04-10-2022
I am a highly results-driven professional with 12+ years of collective experience in the grounds of web application development especially in laravel, native android application development in java, and desktop application development in the dot net framework. Now managing a team of expert developers at Codebrisk.