Dynamic getTableQuery on Toggle Filter

Hello everyone. For many cases, I want to dynamically return different query from getTableQuery based on toggle filter. Initially, we want the X query with some records (toggle OFF). But when we toggle ON a filter, execute Y query to return new records. For example:

Toggle filter example:

protected function getTableFilters(): array { return [ Tables\Filters\Filter::make('notifikasi_pemeliharaan') ->query(fn (Builder $query): Builder => $query->where('notifikasi_pemeliharaan', false)) ->columnSpan('full') ->toggle(), ]; }

Query before (When Toggle filter OFF)


protected function getTableQuery(): Builder { return Peralatan::query() ->where('aktif_tidak', true) ->where('pelihara_tidak', true) }); }

Query expected, after toggle ON

protected function getTableQuery(): Builder { return Peralatan::query() ->where('aktif_tidak', true) ->where('pelihara_tidak', true) ->where('notifikasi_pemeliharaan', true) // Now it pull new records that not exists in table before }); }

How to make it possible? Or is there any better approach? Thank you all.
Was this page helpful?