From 31a0ccdf3b12412786ce1f75a0e44d54723838fd Mon Sep 17 00:00:00 2001 From: salam Date: Mon, 12 Jan 2026 05:28:42 +0100 Subject: [PATCH] wip --- .../Commands/Grapper/TxOdds/Fixtures.php | 13 ++++++++ app/Models/Element.php | 1 + app/Models/ElementGroup.php | 14 +++++++++ .../2023_05_25_112700_create_events_table.php | 2 +- ...2023_05_25_112749_create_element_table.php | 1 + ..._12_051441_create_element_groups_table.php | 30 +++++++++++++++++++ 6 files changed, 60 insertions(+), 1 deletion(-) create mode 100644 app/Models/ElementGroup.php create mode 100644 database/migrations/2026_01_12_051441_create_element_groups_table.php diff --git a/app/Console/Commands/Grapper/TxOdds/Fixtures.php b/app/Console/Commands/Grapper/TxOdds/Fixtures.php index 52e8aa69..157a6612 100644 --- a/app/Console/Commands/Grapper/TxOdds/Fixtures.php +++ b/app/Console/Commands/Grapper/TxOdds/Fixtures.php @@ -6,6 +6,7 @@ use App\Console\Commands\Nuh; use App\Console\Commands\Xml; use App\Models\CompetitionGroup; use App\Models\Element; +use App\Models\ElementGroup; use App\Models\Event; use App\Models\Group; use App\Models\Sport; @@ -100,15 +101,27 @@ class Fixtures $element = [ 'name' => (string) $row->hteam, 'sport_id' => (int) $sport_id, + 'country_id' => (int) $row->group['cnid'], ]; Element::updateOrCreate(['id' => (int) $row->hteam['id']], $element); + $element_group = [ + 'competition_group_id' => (int) $row->group['cgid'], + ]; + ElementGroup::updateOrCreate(['element_id' => (int) $row->hteam['id'], 'group_id' => (int) $row->group['id']], $element_group); + $element = [ 'name' => (string) $row->ateam, 'sport_id' => (int) $sport_id, + 'country_id' => (int) $row->group['cnid'], ]; Element::updateOrCreate(['id' => (int) $row->ateam['id']], $element); + $element_group = [ + 'competition_group_id' => (int) $row->group['cgid'], + ]; + ElementGroup::updateOrCreate(['element_id' => (int) $row->ateam['id'], 'group_id' => (int) $row->group['id']], $element_group); + if ($sport_id == 1) { $total_soccer++; } else { diff --git a/app/Models/Element.php b/app/Models/Element.php index bef082a0..1f04d30b 100644 --- a/app/Models/Element.php +++ b/app/Models/Element.php @@ -10,6 +10,7 @@ class Element extends Model 'id', 'name', 'sport_id', + 'country_id', ]; public function sport() diff --git a/app/Models/ElementGroup.php b/app/Models/ElementGroup.php new file mode 100644 index 00000000..91a62392 --- /dev/null +++ b/app/Models/ElementGroup.php @@ -0,0 +1,14 @@ +dateTime('starttime')->nullable(); $table->integer('sport_id')->index()->references('id')->on('sports'); $table->integer('country_id')->default(0)->nullable()->index()->references('id')->on('countries'); - $table->integer('group_id')->default(0)->nullable()->index(); + $table->integer('group_id')->default(0)->nullable()->index()->references('id')->on('groups'); $table->integer('competition_group_id')->default(0)->nullable()->index()->references('id')->on('competition_groups'); $table->integer('home_id')->default(0)->nullable()->index()->references('id')->on('elements'); $table->integer('away_id')->default(0)->nullable()->index()->references('id')->on('elements'); diff --git a/database/migrations/2023_05_25_112749_create_element_table.php b/database/migrations/2023_05_25_112749_create_element_table.php index c14c0a51..17a98380 100644 --- a/database/migrations/2023_05_25_112749_create_element_table.php +++ b/database/migrations/2023_05_25_112749_create_element_table.php @@ -15,6 +15,7 @@ return new class extends Migration $table->id(); $table->string('name'); $table->integer('sport_id')->index()->references('id')->on('sports'); + $table->integer('country_id')->default(0)->nullable()->index()->references('id')->on('countries'); $table->timestamps(); }); } diff --git a/database/migrations/2026_01_12_051441_create_element_groups_table.php b/database/migrations/2026_01_12_051441_create_element_groups_table.php new file mode 100644 index 00000000..71792fce --- /dev/null +++ b/database/migrations/2026_01_12_051441_create_element_groups_table.php @@ -0,0 +1,30 @@ +id(); + $table->integer('element_id')->default(0)->nullable()->index()->references('id')->on('elements'); + $table->integer('competition_group_id')->default(0)->nullable()->index()->references('id')->on('competition_groups'); + $table->integer('group_id')->default(0)->nullable()->index()->references('id')->on('groups'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('element_groups'); + } +};