From 11189ec3d6cc421948976a7fbe0ac10188b1cdb1 Mon Sep 17 00:00:00 2001 From: salam Date: Wed, 15 Jul 2026 14:09:27 +0200 Subject: [PATCH] double players --- .../Pages/ListStatistikoEvents.php | 6 ++-- .../Schemas/StatistikoPlayerForm.php | 2 +- .../Tables/StatistikoPlayersTable.php | 33 +++++++++---------- 3 files changed, 19 insertions(+), 22 deletions(-) diff --git a/app/Filament/Clusters/StaticData/Resources/StatistikoEvents/Pages/ListStatistikoEvents.php b/app/Filament/Clusters/StaticData/Resources/StatistikoEvents/Pages/ListStatistikoEvents.php index 8ec9c810..4c9c573e 100644 --- a/app/Filament/Clusters/StaticData/Resources/StatistikoEvents/Pages/ListStatistikoEvents.php +++ b/app/Filament/Clusters/StaticData/Resources/StatistikoEvents/Pages/ListStatistikoEvents.php @@ -16,9 +16,9 @@ class ListStatistikoEvents extends ListRecords protected function getHeaderActions(): array { return [ - Action::make('download') - ->icon('phosphor-download') - ->color('gray'), + // Action::make('download') + // ->icon('phosphor-download') + // ->color('gray'), Action::make('truncate') ->icon('phosphor-trash') ->requiresConfirmation() diff --git a/app/Filament/Clusters/StaticData/Resources/StatistikoPlayers/Schemas/StatistikoPlayerForm.php b/app/Filament/Clusters/StaticData/Resources/StatistikoPlayers/Schemas/StatistikoPlayerForm.php index 83ba5611..93e457d6 100644 --- a/app/Filament/Clusters/StaticData/Resources/StatistikoPlayers/Schemas/StatistikoPlayerForm.php +++ b/app/Filament/Clusters/StaticData/Resources/StatistikoPlayers/Schemas/StatistikoPlayerForm.php @@ -14,7 +14,7 @@ class StatistikoPlayerForm ->components([ Grid::make([ 'default' => 2, - 'xl' => 4, + 'xl' => 5, ])->schema([ TextInput::make('sport_id'), TextInput::make('match_id'), diff --git a/app/Filament/Clusters/StaticData/Resources/StatistikoPlayers/Tables/StatistikoPlayersTable.php b/app/Filament/Clusters/StaticData/Resources/StatistikoPlayers/Tables/StatistikoPlayersTable.php index 8da1f808..b14e6f52 100644 --- a/app/Filament/Clusters/StaticData/Resources/StatistikoPlayers/Tables/StatistikoPlayersTable.php +++ b/app/Filament/Clusters/StaticData/Resources/StatistikoPlayers/Tables/StatistikoPlayersTable.php @@ -4,6 +4,7 @@ namespace App\Filament\Clusters\StaticData\Resources\StatistikoPlayers\Tables; use App\Models\StatistikoPlayer; use Filament\Actions\BulkActionGroup; +use Filament\Actions\DeleteAction; use Filament\Actions\DeleteBulkAction; use Filament\Actions\EditAction; use Filament\Forms\Components\Checkbox; @@ -18,7 +19,6 @@ class StatistikoPlayersTable public static function configure(Table $table): Table { return $table - // ->poll() ->columns([ TextColumn::make('match_id')->searchable(), TextColumn::make('details.name') @@ -31,28 +31,24 @@ class StatistikoPlayersTable TextColumn::make('event.away.name')->searchable()->color('success'), ]) ->filters([ - Filter::make('event_filters') + Filter::make('player_filters') ->schema([ Checkbox::make('find_double'), ])->query(function (Builder $query, array $data): Builder { return $query->when( $data['find_double'], - function (Builder $query) use ($data) { + function (Builder $query) { $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'); + $events = StatistikoPlayer::query()->select('match_id', 'ss_player_id')->get()->toArray(); + foreach ($events as $value) { + $match_id = $value['match_id']; + $player_id = $value['ss_player_id']; + + if (isset($arr[$match_id]) && in_array($player_id, $arr[$match_id])) { + return $query->where('match_id', $match_id)->where('ss_player_id', $player_id); + } + $arr[$match_id][] = $player_id; + } } ); })->indicateUsing(function (array $data): ?string { @@ -65,7 +61,8 @@ class StatistikoPlayersTable ], layout: FiltersLayout::AboveContent) ->deferFilters(false) ->recordActions([ - EditAction::make(), + EditAction::make()->iconButton(), + DeleteAction::make()->iconButton(), ]) ->toolbarActions([ BulkActionGroup::make([