问题描述
我有一个关系需要根据它用于填充的 Laravel Nova 字段进行不同的过滤。
A single Locations has one or more Locations attached as options
(BelongsToMany)
A single Process_type also has a single Locations set as a default
(BelongsTo)
我正在使用相关查询来过滤这两个字段中每一个的可用选项。
我的Location资源中的字段如下:
BelongsToMany::make('Neighborhood Locations','relatedLocations',Location::class)
->searchable()
相关查询如下所示:
public static function relatableLocations(NovaRequest $request,$query,Field $field)
{
if ($field instanceof BelongsToMany) {
return $query->where('location_type_id','=',8);
}
return $query;
}
此模式来自 Laravel Nova 动态相关模型 (https://nova.laravel.com/docs/3.0/resources/authorization.html#dynamic-relatable-methods) 文档。 它描述了将字段作为第三个参数添加到相关查询中,然后在条件中使用它来选择过滤器逻辑。
我得到的错误是:
Too few arguments to function AppNovaProcess_type::relatableLocations(),2 passed and exactly 3 expected
根据文档,我的 make()
调用具有三个参数,知道我缺少什么吗?
我使用的是 Laravel 7.x 和 Nova 3.x
来源:Laravel
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)