naumov-adata / pipeline-filter
在模型中使用管道数据过滤模式的库
v1.1.0
2024-09-05 10:24 UTC
Requires
- php: ^8.0
README
在模型中使用管道数据过滤模式的库。
安装
要安装此库,请执行以下命令
composer require naumov-adata/pipeline-filter
使用
安装库后,您可以在自己的模型中使用它。以下是一个示例
<?php namespace App\Models; use Illuminate\Database\Eloquent\Model; use PipelineFilter\Core\Traits\HasPipelineFilter; final class YourModel extends Model { use HasPipelineFilter; // Другие методы и свойства модели }
过滤器示例
<?php declare(strict_types=1); namespace PipelineFilter\Core\Filters\Pipelines; use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Model; use PipelineFilter\Core\Filters\FilterPipelineInterface; /** * Class ExampleFilter */ class ExampleFilter implements FilterPipelineInterface { /** * @param Builder $builder * @param mixed $dto * * @return Builder */ public static function apply(Builder $builder, mixed $dto): Builder { /** @var Model|Builder $builder */ return true ? $builder->where('name', $dto->name) : $builder; } }
使用过滤器的示例
$dto = new YourDataTransferObject(); // Создайте ваш DTO $results = YourModel::pipelineFilter([ AccessFilter::class, WithCompaniesFilter::class, FavoriteAccessFilter::class, ], $dto)->get();
依赖
此库需要以下依赖项
- PHP版本
^8.0
许可证
此库没有许可证。