04
Oct
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
Create Crud
Let’s make a real-life example: Build a blog
A Post has many (hasMany) Comment and belongs to many (belongsToMany) Tag
A Post can have a title and a content fields
CRUD generator command:
php artisan make:crud nameOfYourCrud "column1:type, column2"
(theory)
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 Post and Comment and a belongsToMany with Tag
If you look good, two migrations are created (create_posts AND create_post_tag).
create_posts will be your table for your Post model
create_post_tag is a pivot table to handle the belongsToMany relationship
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 :
Route::resource('posts', PostsController::class);
(don’t forget to import your PostsController in your web.php file)
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 resources/views directory.
Add your Comment CRUD (with a column comment and a post_id)
php artisan make:crud comment "comment:text, post_id:integer"
Add your 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.
Launch project