你好,我正在尝试从关系表中过滤数据。就像桌子是
TrainingVideo(table)
-> Media(table)
代码,如
$a = QueryBuilder::for(TrainingVideo::class)
->with('grade','media')
->allowedFilters(['name', 'grade_id'], allowedFilters(AllowedFilter::exact('media.is_help_center', null, false))
->get();
TrainingVideo字段为name,grade_id字段为is_help_center。
试图过滤数据并得到错误,例如
“请求的过滤器
name, grade_id
是不允许的。允许的过滤器是is_help_center
。”请参考此链接https://spatie.be/docs/laravel-query-builder/v3/features/filtering#:~:text=An%20allowed%20filter%20can%20be,AllowedFilter%3A%3Apartial()%20filters.
中的异源筛选器
发布于 2021-04-28 09:05:36
我真的不明白你怎么看得到的?
allowedFilters(AllowedFilter::exact('media.is_help_center', null, false)
也许我遗漏了一些东西,但据我所知,没有allowedFilters
帮助函数。
不管怎样,你也许可以
$a = QueryBuilder::for(TrainingVideo::class)
->with('grade','media')
->allowedFilters(
array_merge(
['name', 'grade_id'],
AllowedFilter::exact('media.is_help_center', null, false)
)
)
->get();
不要忘记在文件顶部导入AllowedFilter
use Spatie\QueryBuilder\AllowedFilter;
一旦设置完毕,is就可以工作了。
https://stackoverflow.com/questions/67295851
复制相似问题