Laravel 5 CRUD Generator
Laravel CRUD Generator, (*1)
Requirements
Laravel >=5.1
PHP >= 5.5.9
Installation
-
Run, (*2)
composer require appzcoder/crud-generator
-
Add service provider to /config/app.php file., (*3)
'providers' => [
...
Appzcoder\CrudGenerator\CrudGeneratorServiceProvider::class,
// Use the line bellow for "laravelcollective/html" package otherwise remove it.
Collective\Html\HtmlServiceProvider::class,
],
// Use the lines bellow for "laravelcollective/html" package otherwise remove it.
'aliases' => [
...
'Form' => Collective\Html\FormFacade::class,
'HTML' => Collective\Html\HtmlFacade::class,
],
- Run composer update
Note: You should have configured database as well for this operation., (*4)
Commands
Crud command:
php artisan crud:generate Person --fields="name:string, email:string, age:number, message:text"
You can also easily include route, set primary key, set views directory etc through options --route, --pk, --view-path as bellows:, (*5)
php artisan crud:generate Person --fields="name:string, email:string, age:number, message:text" --route="yes" --pk="id" --view-path="admin"
-----------
Other commands (optional):
For controller generator:, (*6)
php artisan crud:controller PersonController --crud-name="Person" --view-path="directory"
For model generator:, (*7)
php artisan crud:model Person --fillable="['name', 'email', 'message']"
For migration generator:, (*8)
php artisan crud:migration person --schema="name:string, email:string, age:number, message:text"
For view generator:, (*9)
php artisan crud:view Person --fields="name:string, email:string, age:number, message:text" --view-path="directory"
By default, the generator will attempt to append the crud route to your routes.php file. If you don't want the route added, you can use the option --route=no
., (*10)
After creating all resources run migrate command (and, if necessary, include the route for your crud as well)., (*11)
php artisan migrate
If you chose not to add the crud route in automatically (see above), you will need to include the route manually., (*12)
Route::resource('person', 'PersonController');
Supported Field Types
These fields are supported for migration and view's form:, (*13)
- string
- char
- varchar
- password
- email
- date
- datetime
- time
- timestamp
- text
- mediumtext
- longtext
- json
- jsonb
- binary
- number
- integer
- bigint
- mediumint
- tinyint
- smallint
- boolean
- decimal
- double
- float
Author
Sohel Amin, (*14)