Select::make('participant_id')
->label('Participant')
->placeholder('Select a participant (optional)')
->searchable()
->getSearchResultsUsing(function (string $search) {
$query = User::active()->whereHas('participant');
if (auth()->user()->isCaseManager()) {
$query->where('participant.agency_id', auth()->user()->case_manager->agency_id);
}
return $query
->where('name', 'like', "%{$search}%")
->limit(50)
->get()
->pluck('name', 'participant.id')
->toArray();
})
->afterStateUpdated(function (Get $get, Set $set) {
// does some stuff
})
->reactive(),
Select::make('participant_id')
->label('Participant')
->placeholder('Select a participant (optional)')
->searchable()
->getSearchResultsUsing(function (string $search) {
$query = User::active()->whereHas('participant');
if (auth()->user()->isCaseManager()) {
$query->where('participant.agency_id', auth()->user()->case_manager->agency_id);
}
return $query
->where('name', 'like', "%{$search}%")
->limit(50)
->get()
->pluck('name', 'participant.id')
->toArray();
})
->afterStateUpdated(function (Get $get, Set $set) {
// does some stuff
})
->reactive(),