FilamentF
Filament17mo ago
Pritbor

Issue with Dependent Select for MorphToSelect

In my CouponResource.php page, I am trying to have dependent select for 'assigned_to' field. I am experiencing very slow load while assigning 'assigned_to' field.

Group::make()
    ->relationship('advertisement')
    ->schema([
        Group::make()
            ->relationship('member')
            ->schema([
                MorphToSelect::make('memberable')
                    ->types([
                        MorphToSelect\Type::make(Company::class)
                            ->titleAttribute('name'),
                        MorphToSelect\Type::make(User::class)
                            ->titleAttribute('name'),
                    ])
                    ->searchable()
                    ->live()
                    ->afterStateUpdated(function (Set $set) {
                        $set('assigned_to', null);
                    })
                    ->required(),
                ]),
        Forms\Components\Select::make('assigned_to')
            ->relationship(
                name: 'assignedTo',
                titleAttribute: 'name',
                modifyQueryUsing: function (Builder $query, Get $get) {
                    $selectedMember = $get('member');
                    if ($selectedMember) {
                        if ($selectedMember['memberable_type'] === Company::class) {
                            $company = Company::with('users')->find($selectedMember['memberable_id']);
                            if ($company) {
                                $query->whereIn('id', $company->users->pluck('id'));
                            }
                        }
                    }
                    return $query;
                }
            )
            ->preload()
            ->required(),
    ])
    ->columns(2)
    ->columnSpanFull(),
Was this page helpful?