poll() ->columns([ TextColumn::make('match_id')->searchable(), TextColumn::make('details.name') ->label('Player') ->searchable() ->tooltip(fn($record) => $record->details->full_name), TextColumn::make('tm_player_id')->label('TM Id')->searchable(), TextColumn::make('ss_player_id')->label('SS Id')->searchable(), TextColumn::make('event.home.name')->searchable()->color('primary'), TextColumn::make('event.away.name')->searchable()->color('success'), ]) ->filters([ Filter::make('event_filters') ->schema([ Checkbox::make('find_double'), ])->query(function (Builder $query, array $data): Builder { return $query->when( $data['find_double'], function (Builder $query) use ($data) { $arr = []; // $events = StatistikoPlayer::query()->select('match_id', 'ss_player_id')->get()->toArray(); // foreach ($events as $value) { // $match_id = $value['match_id']; // $ss_player_id = $value['ss_player_id']; // if (in_array($ss_player_id, $arr[$value['match_id']])) // $arr[$value['match_id']][] = $value['ss_player_id']; // } // dd($arr); // dd($events); // $doublEvents = array_diff_assoc( // $events, // array_unique($events) // ); // $query->whereIn('match_id', $doublEvents)->orderBy('match_id'); } ); })->indicateUsing(function (array $data): ?string { if (! $data['find_double']) { return null; } return 'Find Double'; }), ], layout: FiltersLayout::AboveContent) ->deferFilters(false) ->recordActions([ EditAction::make(), ]) ->toolbarActions([ BulkActionGroup::make([ DeleteBulkAction::make(), ]), ]); } }