Blog Detail

04

Oct
Now Generate a Laravel 9 CRUD Easily in a Few Seconds cover image

arrow_back Now Generate a Laravel 9 CRUD Easily in a Few Seconds

Crud Generator Laravel is a package that you can integrate into your Laravel to create a REAL CRUD :

  • controller with all the code already written
  • views (index, create, edit, show)
  • model with relationships
  • request file with rules
  • migration file

Installation

  1. Run composer command:
composer require mrdebug/crudgen --dev
  1. If you don’t use Laravel Collective Form package in your project, install it:
composer require laravelcollective/html
  1. Publish config file and default-theme directory for views
php artisan vendor:publish

Usage

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

Migration

Both migration files are created in your database/migrations directory. If necessary edit them and run :

php artisan migrate

Controller

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.

Routes

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)

Request

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.

Views

A views directory is created in your resources/views directory.

Finish your blog

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"

Remove a CRUD

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

Author : Rizwan Aslam
AUTHOR
Rizwan Aslam

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 your project

Launch project