mochgani/crud-laravel

CRUD Generator Laravel

dev-main 2024-01-05 09:50 UTC

This package is auto-updated.

Last update: 2024-06-05 10:38:14 UTC


README

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

Installation

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"

Usage

Create CRUD (or REST API)

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

CRUD generator command :

php artisan make:crud nameOfYourCrud "column1:type, column2" (theory)

php artisan make:crud post "title:string, content:text" (for our example)

Available options

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). image

Now let's add our relationships (Comment and Tag models) :

image

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

image

Migration

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

php artisan migrate

Remove a CRUD

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

image

License

This package is licensed under the license MIT.

Source