Downloads
Stars
Version
Welcome to Laravel Crud Controller repository.
This package may provide basic crud operations and allows you to customize completly the controller. There are two controller:
Simply install with composer.
composer require danieletulone/laravel-base-crud
Before use the controller, you must create all resources for a new model:
php artisan make:model Pizza -a
The -a flag meangin all: controller, model, migration, seeder and factory.
Edit the generated controller.
<?php
namespace App\Http\Controllers;
use DanieleTulone\BaseCrud\Http\Controllers\CrudController;
class PizzaController extends CrudController
{
//
}
routes/web.php
.Route::resource('pizzas', 'PizzaController');
|--- resources
|------ views
|--------- pizzas
|------------ index.blade.php
|------------ show.blade.php
<?php
namespace App\Http\Controllers;
use DanieleTulone\BaseCrud\Http\Controllers\CrudController;
use DanieleTulone\BaseCrud\Traits\HasFrontForms;
class PizzaController extends CrudController
{
use HasFrontForms;
}
and in resources/views/pizzas add:
Now, define rules into Pizza model, create the views and migrate table. All crud operations are implemented!
php artisan make:request PizzaRequest
The main controller has main operations and default queries.
Every method has its query method.
So, in your controller, you can ovveride methods like that:
class PizzaController extends CrudController
{
// ... code
/**
* Query used for index method.
*
* @param mixed $params
* @return mixed
*/
public function indexQuery(&$params)
{
$modelsName = Str::plural($this->getModelName());
$this->params[$modelsName] = $this->model::where('price', '>', 15)->paginate();
}
// ... code
}
Each method follows this flow.
So, you can customize operation creating after/before methods in controller.
You can create them manually with or without implements interface.
There are two interface: