eng_assys / laravel-crud-repository-design-pattern
使用 Laravel/Lumen 6.* 隔离 CRUD 业务逻辑的 Repository 模式实现
dev-master
2020-01-09 17:41 UTC
Requires
- php: >=7.2
- spatie/laravel-fractal: ^5.6
This package is auto-updated.
Last update: 2024-09-10 03:59:45 UTC
README
使用 Laravel/Lumen 6.* 隔离 CRUD 业务逻辑的 Repository 模式实现
- 在您的包中安装库
"spatie/laravel-fractal": "^5.6"
以启用 Fractal 使用
基本用法
<?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); } }