add simple vies of crud based apps
install with command :
composer require sajjadgozal/simplecrud
for publishing views and config :
php artisan vendor:publish --tag=sajjadgozal\SimpleCrud\SimpleCrudServiceProvider
Add hasCrud trait to model to enable croud routes and views for that model. And dont forget to add fillable variables.
Category model :
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use sajjadgozal\SimpleCrud\traits\hasCrud;
class Category extends Model
{
use hasCrud;
protected fillable = [] ;
}
and you can use links to work with model objects.
{{app_address}}/{{prefix}}/{{model_name}}
example:
http://127.0.0.1:8000/crud/category
http://127.0.0.1:8000/crud/category/1/
http://127.0.0.1:8000/crud/category/1/edit
route prefix can be changed from config/simplecrud.php file.
default:
'route_prefix' => 'crud',
example:
'route_prefix' => '',
or
'route_prefix' => 'custom_prefix',
api prefix can be changed from config/simplecrud.php file.
'api_route_prefix'=>'crud-api',
By default, package will use view files in universal folder. you can add view files with names: "index.blade.php","show.blade.php","create.blade.php","edit.blade.php" in the folder with model name in resources/views/ folder.
example:
resources/views/category/show.blade.php
for ading validation rules for model , add parameter rules to the model. like as laravel validation rules.
examole:
class Item extends Model
{
use hasCrud;
protected $fillable =[
'name',
'number'
];
/**
* Get the validation rules that apply to the request.
*
* @var string[]
*/
public $rules = [
'name' => 'required|string',
'number' => 'sometimes|numeric'
];
}
api routes are returning json
{{app_address}}/{{api-prefix}}/{{model_name}}
example:
http://127.0.0.1:8000/crud-api/category
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.