get acrive bookmaker for multiline direct from table

This commit is contained in:
salam committed 2026-01-14 18:58:53 +01:00
1 parent 3e06aad008
commit 767164c336
5 files changed
+10 -132

No files matched your search

+10 -6
View File
@@ -3,7 +3,7 @@
namespace App\Livewire;
use App\Filament\Tables\Columns\BookmakerIcon;
use App\Models\BookmakerSport;
use App\Models\Bookmaker;
use App\Models\MultilineClient;
use App\Models\MultilineSetting;
use Filament\Actions\Concerns\InteractsWithActions;
@@ -21,6 +21,7 @@ use Filament\Tables\Filters\Filter;
use Filament\Tables\Table;
use Illuminate\Contracts\View\View;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Support\Facades\DB;
use Livewire\Component;
class MultilineBookmaker extends Component implements HasActions, HasSchemas, HasTable
@@ -56,14 +57,17 @@ class MultilineBookmaker extends Component implements HasActions, HasSchemas, Ha
SelectColumn::make('bookmaker_id')
->label('Bookmaker')
->width('2rem')
->options(function () {
->options(function ($livewire, $record) {
$table = MultilineSetting::where('id', $livewire->tableFilters['multiline_setting_id'])->value('table');
$res = BookmakerSport::with('bookmaker')
$bookies = DB::table($table)
->where('sport_id', auth()->user()->sport_id)
->get();
->groupBy('bookmaker_id')->pluck('bookmaker_id');
$res = Bookmaker::whereIn('id', $bookies)->pluck('name', 'id');
$arr = [];
foreach ($res as $value) {
$arr[$value->bookmaker_id] = $value->bookmaker->name;
foreach ($res as $id => $name) {
$arr[$id] = $name;
}
asort($arr);