

Laravel Version: >= 8.0
PHP Version: >= 7.3
Composer: >= 2.0
composer require niraj/crudstarter --dev
php artisan vendor:publish --tag=crudstarter-config
php artisan vendor:publish --tag=crud-stub
php artisan gen:dashboard
php artisan gen:crud {ModelName} --fields="fieldName:dataType fieldName:dataType"
php artisan gen:api {ModelName} --fields="fieldName:dataType fieldName:dataType
php artisan del:crud {ModelName}
php artisan del:api {ModelName}
Example: To generate Post CRUD
php artisan gen:crud Post --fields="name:str slug:str description:text image:str status:bool"
You can add fields in gen commands which auto fills model, migration, request and api resources
To add fields we use
--fields="field_name1:data_type1{space}field_name2:data_type2"
Example: To generate Post CRUD with fields
php artisan gen:crud Post --fields="name:str description:text count:int by_admin:bool is_published:select:options=published,pending"
Note: Please run auto-alignment (code-formatting) command in your ide/text-editor in generated blade files [eg:
Ctrl+Alt+Shift+Lin phpstorm].
to add this functionality simply add --relations="your code here" in gen command
Example: To generate Profile CRUD with relations (hasOne: Account, hasMany: Blogs and belongTo: User)
php artisan gen:crud Profile --fields="name:str user_id:fid" --relations="haso:account hasm:blogs belt:user"
| Relation Name | Short Hand For |
|---|---|
| haso | hasOne |
| hasm | hasMany |
| belt | belongsTo |
| belm | belongsToMany |
Note: you can use
hasMany,belongsToetc directly in --relations command if you feel comfortable and it currently only supports these 4 common relations type.
to add this functionality simply add --softDelete in gen command
Example: To generate Post CRUD with soft deletes
php artisan gen:crud Post --fields="name:str description:text" --softDelete
some short hands for convenience are provided i.e instead of unsignedInteger we can use uint instead while defining fields
| Data type Name | Short Hand For |
|---|---|
| inc | increments |
| int | integer |
| uint | unsignedInteger |
| tinyint | tinyInteger |
| utinyint | unsignedTinyInteger |
| smallint | smallInteger |
| usmallint | unsignedSmallInteger |
| mediumint | mediumInteger |
| umediumint | unsignedMediumInteger |
| bigint | bigInteger |
| ubigint | unsignedBigInteger |
| txt | text |
| tinytext | tinyText |
| mediumtext | mediumText |
| longtext | longText |
| bool | boolean |
| fid | foreignId |
Note: For other data types like
date, enum, decimal, uuidetc can typed as it is.
-[ Model, Controller, Blade Files, Request, Migration ] with Feature Test Skeleton!
-[ ApiController, ApiRequest, ApiResource ] with Feature Test Skeleton!
Note: Model, Factory, Migration can be also generated for API if needed.
You may have to easily customize blade files according to your dashboard template. Which Can be done easily.
HAPPY CODING :metal:
How can I help you explore Laravel packages today?