andrewdyer/filtering
最新稳定版本:1.0.1
Composer 安装命令:
composer require andrewdyer/filtering
包简介
README 文档
README
A super tidy and easy to extend solution for filtering Laravel database results with a query string.
License
Licensed under MIT. Totally free for private or commercial projects.
Installation
composer require andrewdyer/filtering
Basic Usage
$courses = Course::filter($request->getQueryParams())->get();
Creating Filters
namespace App\Filters; use Anddye\Filtering\Filter; use Illuminate\Database\Eloquent\Builder; class AccessFilter extends Filter { public function filter(Builder $builder, $value): Builder { return $builder->where('free', $value); } }
Creating Filterers
namespace App\Filterers; use Anddye\Filtering\Filterer; use App\Filters\AccessFilter; class CourseFilterer extends Filterer { protected array $filters = [ 'access' => AccessFilter::class, ]; }
Create Filter Scope
namespace App\Models; use App\Filterers\CourseFilterer; use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Model; class Course extends Model { public function scopeFilter(Builder $builder, array $queryParams): Builder { return (new CourseFilterer())->filter($builder, $queryParams); } }
Support
If you're using this package, I'd love to hear your thoughts! Feel free to contact me on Twitter.
Found a bug? Please report it using the issue tracker, or better yet, fork the repository and submit a pull request.
统计信息
- 总下载量: 15
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2022-08-17