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:
Query before (When Toggle filter OFF)
Query expected, after toggle ON
How to make it possible? Or is there any better approach? Thank you all.
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.