dsoloview/laravel-filters-sort

Laravel 过滤和排序

1.3.2 2023-07-14 15:25 UTC

This package is auto-updated.

Last update: 2024-09-14 18:04:26 UTC


README

一个小型的包,让您可以轻松且可配置地过滤和排序查询

特性

  • 为每个参数自定义排序和过滤
  • 易于设置默认选项
  • 结构化代码
  • 易于扩展

安装

使用 composer 安装 dsoloview/laravel-filters-sort

  composer require dsoloview/laravel-filters-sort

用法

模型

对于模型,您需要添加特质 HasFiltersHasSort Model

过滤

为您的模型创建一个过滤类,并从 dsoloview\LaravelFiltersSort\Filters\QueryFilter 继承

为每个您将从过滤请求中收到的参数创建一个方法

例如:

applicaitons?filters[categories][]=7&filters[search]=myApp

Filter

排序

为您的模型创建一个排序类,并从 dsoloview\LaravelFiltersSort\Sort\QuerySort 继承

为每个您将从排序请求中收到的参数创建一个方法

例如:

applicaitons?sort=id&direction=asc

Sort

您可以为排序设置默认参数

protected const SORT_DEFAULT = 'param'

并为方向

protected const DIRECTION_DEFAULT = 'asc|desc'

用法

特质为您的模型添加了 filter(QueryFilter)sort(QuerySort) 范围

Usage

您可以将您的过滤和排序类传递到范围,如截图所示。

之后,您可以像示例中那样使用 get()paginate()

支持

如需支持,请加入 telegram @dsoloview