Files
Paymenter-Version-Tracks/app/Admin/Components/UserComponent.php
Muhammad Tamir 85c03cef82 v1.3.4
2025-11-14 10:57:49 +07:00

31 lines
1.1 KiB
PHP

<?php
namespace App\Admin\Components;
use App\Admin\Resources\UserResource;
use App\Models\User;
use Filament\Forms\Components\Select;
use Illuminate\Support\HtmlString;
class UserComponent extends Select
{
public static function make(?string $name = null): static
{
return parent::make($name)
->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('<a href="' . UserResource::getUrl('edit', ['record' => $get('user_id')]) . '" target="_blank">Go to User</a>') : null)
->live()
->required();
}
}