Laravel Nova - Carregue apenas relacionamento com determinada propriedade no menu suspenso
Adicionei um campo de relacionamento BelongsTo (nome do relacionamento: usuário) no meu aplicativo Nova no recurso chamado "Partner". Portanto, no formulário "criar parceiro", agora tenho um elemento de seleção para escolher um usuário específico.
O relacionamento que escrevi inclui uma condição:
$this->belongsTo('App\User')->where('role', 'partner');
No menu suspenso de seleção, em vez de mostrar apenas os usuários com a função "parceiro", todos os usuários do aplicativo estão listados. Como posso corrigir esse problema?
User table : id, name, role
Partner table : id, user_id, name
Partner Model:
class Partner extends Model
{
protected $fillable = [
'name', 'email', 'user_id'
];
public function User()
{
return $this->belongsTo('App\User')->where('role', 'partner');
}
}
étodo dos campos de recurso @Nova para o Partner:
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'),
];
}