Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

74hakansukur's avatar

Filamentphp SelectFilter get selected value

Hello

Why is $data array empty in baseQuery block? I would like to use SelectFilter current value in baseQuery. What is wrong in my code?

Thank you

SelectFilter::make('alma') ->form([ Forms\Components\Select::make('pl') ->options(array(1,2,3,4,5,6,7,8)) ]) ->baseQuery(function (Builder $query,array $data) { //here $data is empty }) ->label('label'),

0 likes
2 replies
tisuchi's avatar

@74hakansukur How about this?


SelectFilter::make('alma')
    ->options([
        1 => 'Option 1',
        2 => 'Option 2',
        3 => 'Option 3',
        4 => 'Option 4',
        5 => 'Option 5',
        6 => 'Option 6',
        7 => 'Option 7',
        8 => 'Option 8',
    ])
    ->apply(function (Builder $query, $value) {
        if (!is_null($value)) {
            $query->where('your_column', $value);
        }
    })
    ->label('label')
Merklin's avatar

Correct me if I am wrong, but you can use $data when you use relation() for the select.

Please or to participate in this conversation.