Use Filament Table Filters With Sushi

Hello, I created a simple resource and my table has these filters. ->filters([ Filter::make('Period') ->form([ Flatpickr::make('from') ->default(Carbon::now()->format('Y-m')) ->monthSelect() ->beforeOrEqual('to') ->maxDate(now()->firstOfMonth()) ->required(true), Flatpickr::make('to') ->default(Carbon::now()->format('Y-m')) ->monthSelect() ->afterOrEqual('from') ->maxDate(now()->lastOfMonth()) ->required(), ]) ->default() ->columns(2) In the Manage Class I have overridden the method getTableQuery() to set from and to variable in the Model and use them in the Sushi getRows() method. protected function getTableQuery(): ?Builder { if(isset($this->tableFilters['Period']['from']) && isset($this->tableFilters['Period']['to'])){ ModelName::setPeriod($this->tableFilters['Period']['from'],$this->tableFilters['Period']['to']); } return ModelName::query(); } This is my model class Name extends Model { use \Sushi\Sushi; protected static $from; protected static $to; public function getRows() { info(self::$from); info(self::$to); // The query } public static function setPeriod($from, $to): Builder { self::$from = $from; self::$to = $to; return self::query(); } protected function sushiShouldCache() { return false; } } When I set the from and to dates using the filter, data is filtered using the previous value of these filters instead of the current one. Any suggestions?
0 Replies
No replies yetBe the first to reply to this messageJoin
Want results from more Discord servers?
Add your server