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 }