Laravel Nova 相关查询的参数太少

问题描述

我有一个关系需要根据它用于填充的 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 (将#修改为@)