rondigital / query-filter
在 Laravel 模型中进行过滤和搜索。
v1.5
2023-08-29 13:20 UTC
Requires
README
在 Laravel 模型中进行过滤和搜索。
composer require rondigital/query-filter
QueryFilter 是一个用于在 Laravel 模型中进行过滤、多重过滤和搜索的 trait。您可以使用上述 composer 命令进行安装。要在您的类中使用它,请使用 "use" 关键字添加以下行
use Rondigital\QueryFilter\QueryFilter; class YourClass { use QueryFilter; // ... }
参数
- startingDate : 必须是 Y-M-D H:i:s 格式
- endingDate : 必须是 Y-M-D H:i:s 格式
- filteredBy : 必须是;
- today
- last-24
- last-7-day
- last-30-day
- last-60-day
- last-90-day
- last-year
- this-month
- last-month
- this-week
- last-week
- search : 必须是搜索值
- searchColumn : 必须是列名
- orderBy : 必须是列名
- orderType : 必须是 asc/desc
在您的函数内部,您可以如下使用它
$model = Model::all(); return $this->query($model, $request);
示例
http://:8000/api/files?search=pdf&searchColumn=extension&filteredBy=today&orderType=asc&orderBy=extension&perPage=1
响应 / 200 OK
{
"current_page": 1,
"data": [
{
"id": 6,
"user_id": 23,
"filename": "1686910391_siuqkT7MvLsmvpVH",
"real_filename": "seller-288138-barkod-bazlı-iptal-raporu-2023.05.03-18.17.56.pdf",
"extension": "pdf",
"deleted_at": null,
"created_at": "2023-06-16T10:13:11.000000Z",
"updated_at": "2023-06-16T10:13:11.000000Z"
}
],
"first_page_url": "https://:8008/api/files?page=1",
"from": 1,
"last_page": 3,
"last_page_url": "http://:8008/api/files?page=3",
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "http://:8008/api/files?page=1",
"label": "1",
"active": true
},
{
"url": "https://:8008/api/files?page=2",
"label": "2",
"active": false
},
{
"url": "https://:8008/api/files?page=3",
"label": "3",
"active": false
},
{
"url": "http://:8008/api/files?page=2",
"label": "Next »",
"active": false
}
],
"next_page_url": "http://:8008/api/files?page=2",
"path": "http://:8008/api/files",
"per_page": 1,
"prev_page_url": null,
"to": 1,
"total": 3
}