Слишком мало аргументов Laravel Nova relatable query

#laravel #laravel-nova

#laravel #laravel-nova

Вопрос:

У меня есть отношение, которое необходимо фильтровать по-разному в зависимости от поля Laravel Nova, для заполнения которого оно используется.

  • Один Process_type имеет один или несколько Process_justification s, присоединенных в качестве параметров (belongsToMany)
  • Один Process_type также имеет один Process_justification, установленный по умолчанию (принадлежит)

Я использую соответствующий запрос для фильтрации доступных параметров для каждого из этих двух полей.

Два поля в моем ресурсе Process_type следующие:

 BelongsTo::make('Default', 'process_justification', Process_justification::class)
BelongsToMany::make('Options', 'process_justifications', Process_justification::class)
 

Соответствующий запрос выглядит следующим образом:

 public static function relatableProcess_justifications(NovaRequest $request, $query, Field $field)
        {
           
            if ($field instanceof BelongsTo) {
                //query builder to filter options
                ...........
            } else {
                //return all options
                return $query;
            }
        }
 

Этот шаблон взят из документации Laravel Nova по динамическим связанным моделям (https://nova.laravel.com/docs/3.0/resources/authorization.html#dynamic-relatable-methods )
Он описывает добавление поля в качестве третьего параметра к соответствующему запросу, а затем его использование в условном для выбора логики фильтра.

Ошибка, которую я получаю, это

Слишком мало аргументов для функции App NovaProcess_type::relatableProcess_justifications(), 2 передано и ожидается ровно 3

Мои make() вызовы имеют три параметра в соответствии с документацией, есть идеи, чего мне не хватает?

Я на Laravel 7.x и Nova 3.x

Комментарии:

1. Какая версия Nova 3?

2. Попробуйте сообщить в Github о проблемах Laravel Nova