home..
Route::get('/users/search', function (Request $request) {
$users = User::where('name', 'like', '%' . $request->search . '%')->get();
return $users->map(function ($user) {
return [
'id' => $user->id,
'label' => $user->name . ' (' . $user->tel . ')', // Custom formatted label
'name' => $user->name,
'tel' => $user->tel,
];
});
})->name('users.search');
OR
//livewire component
public function getUserLabel($user)
{
return $user['name'] . ' (' . $user['tel'] . ')';
}
:option-label="[$this, 'getUserLabel']"
//component
option-label="name"
//user model
protected $appends = [];
public function getLabelAttribute()
{
return "{$this->name} ({$this->tel})";
}
//search
return User::select('id', 'name', 'tel')
->get()
->append('label');
Modal test :
open Modal