label('User') ->relationship('user', 'id') ->searchable() ->preload() ->getOptionLabelFromRecordUsing(fn ($record) => $record->name . ' (' . $record->email . ')') ->getSearchResultsUsing(fn (string $search): array => User::where('first_name', 'like', "%$search%") ->orWhere('last_name', 'like', "%$search%") ->limit(50) ->get() ->mapWithKeys(fn ($user) => [$user->id => $user->name . ' (' . $user->email . ')']) ->toArray()) ->hint(fn ($get) => $get('user_id') ? new HtmlString('Go to User') : null) ->live() ->required(); } }