Laravel уменьшение новизны Выберите параметры или добавьте предложения для запроса - PullRequest
0 голосов
/ 15 марта 2020

У меня есть модель организации и модель контракта

Вот она

class Contract extends Model {

    public function organisation() {
        return $this->belongsTo(Organisation::class, 'organisation_id', 'id')->where('is_self',1);
    }

}

Как мне заставить Laravel Нова видеть только те организации, которые is_self = 1 в поле BelongsTo. Есть ли функциональность для ввода предложений для запроса, какие формы выбираются здесь?

Так я называю BelongsTo

BelongsTo::make('Organisation', 'organisation', Organisation::class)
    ->rules('required', 'exists:organisations,id'),

Ответы [ 2 ]

0 голосов
/ 16 марта 2020

Вам также не нужно придерживаться поля BelongsTo. Возможно, поле Select подходит для вашего случая?

Select::make('is_self', 'organisation_id')
    ->options(function() {
        Organisation::whereIsSelf(1)->pluck('name', 'id')->toArray();
    })

Этот код не проверен, но я использую аналогичные селекторы в моих приложениях Nova без проблем.

0 голосов
/ 15 марта 2020

Да, вы можете использовать «Relatable Filtering»: https://nova.laravel.com/docs/2.0/resources/authorization.html#relatable -фильтрация .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...