eng_assys / laravel-crud-repository-design-pattern
An implementation of Repository Pattern to separate CRUD Business Logic using Laravel/Lumen 6.*
Installs: 43
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 2
Forks: 0
Open Issues: 0
pkg:composer/eng_assys/laravel-crud-repository-design-pattern
Requires
- php: >=7.2
- spatie/laravel-fractal: ^5.6
This package is auto-updated.
Last update: 2025-10-10 06:09:11 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); } }