eng_assys / laravel-crud-repository-design-pattern
An implementation of Repository Pattern to separate CRUD Business Logic using Laravel/Lumen 6.*
dev-master
2020-01-09 17:41 UTC
Requires
- php: >=7.2
- spatie/laravel-fractal: ^5.6
This package is auto-updated.
Last update: 2025-03-10 04:58:56 UTC
README
An implementation of Repository Pattern to separate CRUD Business Logic using Laravel/Lumen 6.*
- Install in your package the library
"spatie/laravel-fractal": "^5.6"
to enable Fractal usage
Basic Usage
<?php namespace App\Repositories; use LaravelCrudRepository\Repositories\AbstractRepository; use App\Models\Address; use App\Transformers\AddressTransformer; class AddressRepository extends AbstractRepository { public function __construct($uuid = null) { $this->load($uuid, Address::class, AddressTransformer::class); } public function create($param) { AddressRepository::validate($param, [ 'street' => 'required|string|max:255', 'number' => 'required|string|max:255', 'district' => 'required|string|max:255', 'complement' => 'required|string|max:255', 'zip_code' => 'required|string|max:255', 'state' => 'required|string|max:255', 'city' => 'required|string|max:255', 'country' => 'required|string|max:255' ]); return parent::create($param); } public function update($param) { AddressRepository::validate($param, [ 'street' => 'string|max:255', 'number' => 'string|max:255', 'district' => 'string|max:255', 'complement' => 'string|max:255', 'zip_code' => 'string|max:255', 'state' => 'string|max:255', 'city' => 'string|max:255', 'country' => 'string|max:255' ]); return parent::update($param); } }