scratchuz4k/laravel-dataprovider

此包允许您通过请求查询数据库

1.0.0 2024-04-01 11:04 UTC

This package is auto-updated.

Last update: 2024-09-12 08:46:07 UTC


README

此包允许您根据请求过滤、排序并包含Eloquent关系。本包使用的DataProvider利用了Laravel的默认Eloquent构建器和Illuminate请求。

composer require scratchuz4k/laravel-dataprovider

基本用法

只需实例化提供者并返回其get方法,您就可以开始了。

use Scratchuz4k\Laravel\DataProvider;

$dataProvider = new DataProvider(Article::class);
return $dataProvider->get($request);

可用操作符

  • 等于
  • 不等于
  • 包含
  • 以...开头
  • 以...结尾
  • 大于
  • 小于
  • 大于等于
  • 小于等于
  • 为空

查询示例

  • 基本过滤
/articles?
filters[0][column]=id&
filters[0][operator]=equals&
filters[0][value]=1
  • 或过滤
/articles?
filters[0][column]=id&
filters[0][operator]=equals&
filters[0][value]=1&

filters[1][column]=id&
filters[1][operator]=equals&
filters[1][value]=2&
filters[1][function]=orWhere
  • 包含关系
/article?
with=categories

包含的关系应该是模型中存在的。

  • 排序查询
/articles?
sortOrder=asc&
sortBy=id
  • 过滤关系
/articles?
filters[0][column]=categories.id&
filters[0][operator]=equals&
filters[0][value]=1

过滤的关系应该是模型中存在的。