Я добавил поле отношений BelongsTo (имя отношения: пользователь) в мое приложение Nova на ресурсе с именем «Партнер».Поэтому в форме «Создать партнера» теперь у меня есть элемент select для выбора конкретного пользователя.
Отношение, которое я написал, включает условие:
$this->belongsTo('App\User')->where('role', 'partner');
В раскрывающемся списке выбора вместо того, чтобы показывать только пользователей с ролью "партнер", все пользователи приложения отображаются в списке.Как я могу решить эту проблему?
User table : id, name, role
Partner table : id, user_id, name
Модель партнера:
class Partner extends Model
{
protected $fillable = [
'name', 'email', 'user_id'
];
public function User()
{
return $this->belongsTo('App\User')->where('role', 'partner');
}
}
Метод полей Nova Resource для Партнера:
public function fields(Request $request)
{
return [
Text::make('Name')->sortable(),
ID::make()->sortable(),
BelongsTo::make('User', 'user', 'App\Nova\User')->rules('required'),
HasMany::make('Clients'),
];
}