PHPackages                             mrdebug/crudgen - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [HTTP &amp; Networking](/categories/http)
4. /
5. mrdebug/crudgen

ActiveLibrary[HTTP &amp; Networking](/categories/http)

mrdebug/crudgen
===============

Create a Laravel Crud in a few seconds

1.10.8(5mo ago)31826.8k↓28%42[1 PRs](https://github.com/misterdebug/crud-generator-laravel/pulls)MITPHPPHP &gt;=8.0.0

Since Nov 11Pushed 4mo ago7 watchersCompare

[ Source](https://github.com/misterdebug/crud-generator-laravel)[ Packagist](https://packagist.org/packages/mrdebug/crudgen)[ RSS](/packages/mrdebug-crudgen/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (4)DependenciesVersions (25)Used By (0)

Crud Generator Laravel 12 (your time saver)
===========================================

[](#crud-generator-laravel-12-your-time-saver)

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

And since 1.9.2, a complete **REST API** !

\[ NEW \] [Your voice matters! Participate in the polls and vote for future features and improvements](https://github.com/misterdebug/crud-generator-laravel/discussions/categories/polls)

If you find this project useful, please consider giving it a star⭐. It helps me prioritize and focus on keeping project up-to-date. Thank you for your support!

Installation
------------

[](#installation)

1\. Run the following composer command:

`composer require mrdebug/crudgen --dev`

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="Mrdebug\Crudgen\CrudgenServiceProvider"`

Usage
-----

[](#usage)

### Create CRUD (or REST API)

[](#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](https://github.com/misterdebug/crud-generator-laravel/wiki/Make-a-complete-REST-API-instead-of-CRUD)

#### CRUD generator command :

[](#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](https://github.com/misterdebug/crud-generator-laravel/wiki/Available-options-when-you-use-make:crud-command)

[Generate CRUD with livewire datatable](https://github.com/misterdebug/crud-generator-laravel/wiki/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](https://user-images.githubusercontent.com/23297600/192172786-1703f7b8-f577-45c1-b0f9-296999827af2.png)](https://user-images.githubusercontent.com/23297600/192172786-1703f7b8-f577-45c1-b0f9-296999827af2.png)

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

[![image](https://user-images.githubusercontent.com/23297600/192173041-6c71d727-1e29-4edc-9397-bdb07f44a378.png)](https://user-images.githubusercontent.com/23297600/192173041-6c71d727-1e29-4edc-9397-bdb07f44a378.png)

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](https://user-images.githubusercontent.com/23297600/192173463-f3e61b41-373a-44a8-870f-fc837968a5c7.png)](https://user-images.githubusercontent.com/23297600/192173463-f3e61b41-373a-44a8-870f-fc837968a5c7.png)

### Migration

[](#migration)

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

`php artisan migrate`

### Controller

[](#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

[](#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)

##### Screenshots

[](#screenshots)

`/posts/create` : [![image](https://user-images.githubusercontent.com/23297600/192176702-dc0371f4-5d1b-49e3-a9ea-7352a33187d4.png)](https://user-images.githubusercontent.com/23297600/192176702-dc0371f4-5d1b-49e3-a9ea-7352a33187d4.png)

`/posts` : [![image](https://user-images.githubusercontent.com/23297600/192176845-b3722083-90a9-4257-90d1-8a2eb28baa01.png)](https://user-images.githubusercontent.com/23297600/192176845-b3722083-90a9-4257-90d1-8a2eb28baa01.png)

You can `edit` and `delete` your new post. And a `show` page is created too 🙂

### Request

[](#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

[](#views)

A views directory is created in your **resources/views** directory. If you want to customize generated views :

You can create views independently of the CRUD generator with : `php artisan make:views nameOfYourDirectoryViews "column1:type, column2"`

Finish your blog
----------------

[](#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"`

FYI : `Comment` is a specific case and you can use `make:commentable` command [Docs about commentable](https://github.com/misterdebug/crud-generator-laravel/wiki/Add-a-commentable-structure-to-any-model)

Finished 🎉

Remove a CRUD
-------------

[](#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](https://user-images.githubusercontent.com/23297600/192183601-a4f8d206-3920-4f8a-8e0d-cf8442894e07.png)](https://user-images.githubusercontent.com/23297600/192183601-a4f8d206-3920-4f8a-8e0d-cf8442894e07.png)

License
-------

[](#license)

This package is licensed under the [license MIT](http://opensource.org/licenses/MIT).

Other Projects
--------------

[](#other-projects)

Explore my other projects on GitHub:

- **[LaraFileEncrypter](https://github.com/misterdebug/laravel-file-encrypter)**: Secure your files in Laravel with AES-256 encryption, without persistent key storage hassle.

###  Health Score

59

—

FairBetter than 99% of packages

Maintenance73

Regular maintenance activity

Popularity48

Moderate usage in the ecosystem

Community17

Small or concentrated contributor base

Maturity78

Established project with proven stability

 Bus Factor1

Top contributor holds 83.3% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~144 days

Recently: every ~212 days

Total

24

Last Release

162d ago

PHP version history (2 changes)1.0.0-stablePHP &gt;=5.5.9

1.10.1PHP &gt;=8.0.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/916d270fbf3b92b8313b2d17ce7229dc1112b0c7ab82064d6078b5cb6ec83496?d=identicon)[mrdebug](/maintainers/mrdebug)

---

Top Contributors

[![misterdebug](https://avatars.githubusercontent.com/u/23297600?v=4)](https://github.com/misterdebug "misterdebug (5 commits)")[![hlombroso](https://avatars.githubusercontent.com/u/5126877?v=4)](https://github.com/hlombroso "hlombroso (1 commits)")

---

Tags

composer-packagecrudcrud-generatorgeneratorlaravellaravel-12laravel-crudlaravel-crud-generatorlaravel-packagelaravel10laravel11laravel8laravel9restrest-apilaravelrestgeneratorlaravel-packagecrudREST APIcrud generatorlaravel crud generatorlaravel8laravel9composer-packagelaravel10laravel crud

### Embed Badge

![Health badge](/badges/mrdebug-crudgen/health.svg)

```
[![Health](https://phpackages.com/badges/mrdebug-crudgen/health.svg)](https://phpackages.com/packages/mrdebug-crudgen)
```

###  Alternatives

[crestapps/laravel-code-generator

An intelligent code generator for Laravel framework that will save you time! This awesome tool will help you generate resources like views, controllers, routes, migrations, languages and/or form-requests! It is extremely flexible and customizable to cover many on the use cases. It is shipped with cross-browsers compatible template, along with a client-side validation to modernize your application.

76591.7k1](/packages/crestapps-laravel-code-generator)[ibex/crud-generator

Laravel CRUD Generator

706235.0k](/packages/ibex-crud-generator)[takielias/tablar-crud-generator

Laravel Tablar Crud Generator based on https://github.com/takielias/tablar

315.6k](/packages/takielias-tablar-crud-generator)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
