Laravel Crud Generator
In this post i going to give case how to make CRUD (Create Read Update Delete) application in laravel 5 from beginning. In this progression you need to simply take after couple of step and you can make straightforward CRUD application. In this CRUD application after take after all yield you can posting things, make new thing, alter thing and furthermore erase thing capacity. I utilized asset course, approval, posting and so forth for this muck application case.
After complete all progression effectively, you will discover yield like as howl picture yield.
See:
Step 1: Laravel Installation
In you haven’t install the laravel in your project then you need to run this command and get new Laravel project.
composer create-project --prefer-dist laravel/laravel blog
After clone laravel application, we additionally require to introduce laravelcollective/html for Form class, you can introduce from here :
Laravel CRUD Generator
Requirements
Laravel >=5.1
PHP >= 5.5.9
Installation
- Run
composer require roland/crud dev-master
-
Add service provider to /config/app.php file.
'providers' => [
...Roland\Crud\CrudServiceProvider::class,
],
-
Publish config file & generator template files.
php artisan vendor:publish --provider="Roland\Crud\CrudServiceProvider"
- All Done.
Your Crud Generator is Installed :)
Otional
- Install laravelcollective/html helper package if you haven’t installed it already.
* Run
composer require laravelcollective/html
- Add service provider & aliases to config/app.php.
'providers' => [
...Collective\Html\HtmlServiceProvider::class,
],'aliases' => [
...'Form' => Collective\Html\FormFacade::class,
'HTML' => Collective\Html\HtmlFacade::class,
],
- Run
composer dump-autoload
Note: You should have configured database for this operation.
Commands
Crud command:
php artisan crud:generate Posts --fields="title:string, body:text"
You can also easily include route, set primary key, set views directory etc through options –route, –pk, –view-path as belows:
php artisan crud:generate Posts --fields="title:string:required, body:text:required" --route=yes --pk=id --view-path="admin" --namespace=Admin --route-group=admin
Options:
- –fields : Fields name for the form & model.
- –route : Include Crud route to routes.php? yes or no.
- –pk : The name of the primary key.
- –view-path : The name of the view path.
- –namespace : Namespace of the controller.
- –route-group : Prefix of the route group.
———–
Other commands (optional):
For controller generator:
php artisan crud:controller PostsController --crud-name=posts --model-name=Post --view-path="directory" --route-group=admin
For model generator:
php artisan crud:model Post --fillable="['title', 'body']"
For migration generator:
php artisan crud:migration posts --schema="title:string, body:text"
For view generator:
php artisan crud:view posts --fields="title:string, body:text" --view-path="directory" --route-group=admin
By default, the generator will attempt to append the crud route to your routes/web.php file. If you don’t want the route added, you can use the option --route=no
, or edit the route path on config file.
After creating all resources, run migrate command. If necessary, include the route for your crud as well.
php artisan migrate
If you chose not to add the crud route in automatically (see above), you will need to include the route manually.
Route::resource('posts', 'PostsController');
Supported Field Types
These fields are supported for migration and view’s form:
- string
- char
- varchar
- password
- date
- datetime
- time
- timestamp
- text
- mediumtext
- longtext
- json
- jsonb
- binary
- number
- integer
- bigint
- mediumint
- tinyint
- smallint
- boolean
- decimal
- double
- float
Custom Generator’s Stub Template
You can customize the generator’s stub vendor/roland/crud/Commands/stubs to achieve your need.
- Make sure you’ve published package’s assets.
php artisan vendor:publish
- From the directory /resources/backEnd/ you can modify or customize the created View files.
-
From the directory /resources/backLayout/ you can modify or customize the created Master Layout.
-
From the file /routes/web.php you can modify or customize the created route.
-
From the file /app/config/crudgenerator.php you can modify or customize all the needed paths.
-
Check it on github : https://github.com/roladn/laravelcrud
April 26, 2017 /