04
OctCrud 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