Crud Generator Laravel is a package that you can integrate in your Laravel to create a REAL CRUD. It includes :
- Controller with all the code already written
- Views (index, create, edit, show)
- Model with relationships
- Request file with validation rules
- Migration file
1. Run the following composer command:
composer require mochgani/crud-laravel:dev-main
2. If you don't use Laravel Collective Form package in your project, install it:
composer require laravelcollective/html
(Note: This step is not required if you don't need views.)
3. Publish the configuration file, stubs and the default-theme directory for views:
php artisan vendor:publish --provider="Mochgani\CrudLaravel\CrudgenServiceProvider"
Let's illustrate with a real life example : Building a blog
A Post
has many (hasMany) Comment
and belongs to many (belongsToMany) Tag
A Post
can have a title
and a content
fields
Let's do this 🙂
If you need a REST API instead of CRUD, read this wiki
php artisan make:crud nameOfYourCrud "column1:type, column2"
(theory)
php artisan make:crud post "title:string, content:text"
(for our example)
Generate CRUD with livewire datatable
When you call this command, the controller, views and request are generated with your fields (in this case, title and content).
Now let's add our relationships (Comment
and Tag
models) :
We add a hasMany
relationship between our Post
and Comment
and a belongsToMany
with Tag
Two migrations are created (create_posts
AND create_post_tag
).
create_posts
is 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
You can delete all files (except migrations) created by the make:crud
command at any time. No need to remove files manually :
php artisan rm:crud nameOfYourCrud --force
php artisan rm:crud post --force
(in our example)
The --force
flag (optional) deletes all files without confirmation
This package is licensed under the license MIT.
- misterdebug/crud-generator-laravel: Source Library CRUD Generator