diff --git a/app/Actions/LoadStatisticFixturesLeaguesOptions.php b/app/Actions/LoadStatisticFixturesLeaguesOptions.php
index 9b9a807d..b190e771 100644
--- a/app/Actions/LoadStatisticFixturesLeaguesOptions.php
+++ b/app/Actions/LoadStatisticFixturesLeaguesOptions.php
@@ -2,7 +2,7 @@
namespace App\Actions;
-use App\Models\CompetitionGroup;
+use App\Models\SofaScoreTournament;
use App\Models\StatisticFixtures;
class LoadStatisticFixturesLeaguesOptions
@@ -13,10 +13,10 @@ class LoadStatisticFixturesLeaguesOptions
->groupBy('league_id')
->pluck('league_id')->toArray();
- $cnt = CompetitionGroup::with('country')->whereIn('id', $res)->get();
+ $cnt = SofaScoreTournament::with('sofascore_category')->whereIn('tournament_id', $res)->get();
$arr = [];
foreach ($cnt as $val) {
- $arr[$val->id] = $val->country->name . ' ' . $val->name;
+ $arr[$val->tournament_id] = $val->sofascore_category->name . ' ' . $val->name;
}
asort($arr);
diff --git a/app/Actions/LoadStatisticFixturesMatchOptions.php b/app/Actions/LoadStatisticFixturesMatchOptions.php
index e77b8a7b..98ea23aa 100644
--- a/app/Actions/LoadStatisticFixturesMatchOptions.php
+++ b/app/Actions/LoadStatisticFixturesMatchOptions.php
@@ -6,7 +6,7 @@ use App\Models\StatisticFixtures;
class LoadStatisticFixturesMatchOptions
{
- public static function load($league_id)
+ public static function load(int $league_id)
{
if (! $league_id) {
return [];
@@ -15,7 +15,7 @@ class LoadStatisticFixturesMatchOptions
$arr = [];
foreach ($res as $val) {
- $arr[$val->id] = $val->starttime->format('Y-m-d H:i') . ' - ' . $val->home->name . ' vs ' . $val->away->name;
+ $arr[$val->id] = $val->starttime->format('Y-m-d H:i') . ' - ' . $val->home->ss_team_name . ' vs ' . $val->away->ss_team_name;
}
return $arr;
diff --git a/app/Actions/Selections/LoadPlayer.php b/app/Actions/Selections/LoadPlayer.php
index 80d3266b..5aa610f3 100644
--- a/app/Actions/Selections/LoadPlayer.php
+++ b/app/Actions/Selections/LoadPlayer.php
@@ -3,6 +3,7 @@
namespace App\Actions\Selections;
use App\Models\SofaScorePlayerPerSeason;
+use App\Models\SofaScorePlayerPosition;
use App\Models\StatistikoEvent;
use Filament\Schemas\Components\Utilities\Get;
@@ -17,6 +18,7 @@ class LoadPlayer
$team_position = $get('team_position');
$season_or_date = $filter['season_or_date'] ?? 'season';
+
if ($season_or_date != 'season' or !count($season)) {
$season[] = date('Y');
}
@@ -35,8 +37,10 @@ class LoadPlayer
$matches_count = count($matches);
+ $ss_positions_map = SofaScorePlayerPosition::pluck('name', 'ss_code')->toArray();
+
// needs to run daily for pre-calculaton
- $player = SofaScorePlayerPerSeason::with('details')->where('tx_team_id', $team_id)->whereIn('season', $season)->get();
+ $player = SofaScorePlayerPerSeason::with('details')->where('ss_team_id', $team_id)->whereIn('season', $season)->get();
$arr = [];
foreach ($player as $val) {
@@ -44,25 +48,31 @@ class LoadPlayer
switch ($team_position) {
case 'home':
$events_played = $val->events_played_home;
+ $minues_played = $val->minutes_played_home;
break;
case 'away':
$events_played = $val->events_played_away;
+ $minues_played = $val->minutes_played_away;
break;
default:
$events_played = $val->events_played_home + $val->events_played_away;
+ $minues_played = $val->minutes_played_home + $val->minutes_played_home;
break;
}
$colorlevel = round($matches_count / 3);
- $position = strtoupper($val->details->position);
+ $time_played = round($minues_played / 60) . ':';
+ $time_played .= $minues_played % 60;
+
+ $position = $ss_positions_map[$val->details->position] ?? 'No Specific Position';
if ($events_played < $colorlevel) {
- $arr[$position][$val->ss_player_id] = '' . $val->details->name . ' (' . $events_played . ')';
+ $arr[$position][$val->ss_player_id] = '' . $val->details->player_name . '(' . $events_played . ') (' . $time_played . ')';
} else if ($events_played < $colorlevel * 2) {
- $arr[$position][$val->ss_player_id] = '' . $val->details->name . ' (' . $events_played . ')';
+ $arr[$position][$val->ss_player_id] = '' . $val->details->player_name . ' (' . $events_played . ') (' . $time_played . '';
} else {
- $arr[$position][$val->ss_player_id] = '' . $val->details->name . ' (' . $events_played . ')';
+ $arr[$position][$val->ss_player_id] = '' . $val->details->player_name . ' (' . $events_played . ') (' . $time_played . ')';
}
}
return $arr;
diff --git a/app/Actions/Selections/LoadPosition.php b/app/Actions/Selections/LoadPosition.php
new file mode 100644
index 00000000..5aa1a318
--- /dev/null
+++ b/app/Actions/Selections/LoadPosition.php
@@ -0,0 +1,20 @@
+ss_code] = $val->season;
+ }
+
+ return $arr;
+ }
+}
diff --git a/app/Actions/Selections/LoadSeasons.php b/app/Actions/Selections/LoadSeasons.php
index 81abfa9e..c52a2b23 100644
--- a/app/Actions/Selections/LoadSeasons.php
+++ b/app/Actions/Selections/LoadSeasons.php
@@ -6,7 +6,7 @@ use App\Models\StatistikoEvent;
class LoadSeasons
{
- public static function load($league_id)
+ public static function load(int $league_id)
{
// $res = CompetitionGroup::with('country')->where('id', $league_id)->first();
// $season_mode = $res->country->season_mode;
diff --git a/app/Console/Commands/Grapper/Sofascore/PlayerPerSeason.php b/app/Console/Commands/Grapper/Sofascore/PlayerPerSeason.php
index 95afaeb1..3d6bef4b 100644
--- a/app/Console/Commands/Grapper/Sofascore/PlayerPerSeason.php
+++ b/app/Console/Commands/Grapper/Sofascore/PlayerPerSeason.php
@@ -14,7 +14,7 @@ class PlayerPerSeason
{
$debug = Nuh::$options['d'] ?? 0;
- $res = StatistikoDetail::query()->select('ss_player_id', 'txodds_id')->get();
+ $res = StatistikoDetail::query()->select('ss_player_id', 'ss_team_id')->get();
if ($debug) {
Notice::note('process ' . $res->count() . " player", 'bb');
@@ -35,10 +35,12 @@ class PlayerPerSeason
$collection[$val2->event->season]['minutes_played_away'] = 0;
}
if ($val2->minutes_played > 0) {
- if ($val->txodds_id == $val2->event->home_id) {
+ if ($val2->activeteam_id == $val2->event->home_id) {
+
$collection[$val2->event->season]['events_played_home'] += 1;
$collection[$val2->event->season]['minutes_played_home'] += $val2->minutes_played;
- } else if ($val->txodds_id == $val2->event->away_id) {
+ } else if ($val2->activeteam_id == $val2->event->away_id) {
+
$collection[$val2->event->season]['events_played_away'] += 1;
$collection[$val2->event->season]['minutes_played_away'] += $val2->minutes_played;
}
@@ -46,11 +48,11 @@ class PlayerPerSeason
}
foreach ($collection as $season => $row) {
- if ($val->txodds_id && $val->ss_player_id) {
+ if ($val->ss_team_id && $val->ss_player_id) {
SofaScorePlayerPerSeason::updateOrCreate(
[
'ss_player_id' => $val->ss_player_id,
- 'tx_team_id' => $val->txodds_id,
+ 'ss_team_id' => $val->ss_team_id,
'season' => $season
],
[
diff --git a/app/Filament/Clusters/StaticData/Resources/StatistikoDetails/Schemas/StatistikoDetailForm.php b/app/Filament/Clusters/StaticData/Resources/StatistikoDetails/Schemas/StatistikoDetailForm.php
index acd9cfb0..36cb398a 100644
--- a/app/Filament/Clusters/StaticData/Resources/StatistikoDetails/Schemas/StatistikoDetailForm.php
+++ b/app/Filament/Clusters/StaticData/Resources/StatistikoDetails/Schemas/StatistikoDetailForm.php
@@ -18,14 +18,14 @@ class StatistikoDetailForm
'xl' => 4,
])->schema([
TextInput::make('ss_player_id')->required(),
+ TextInput::make('ss_team_id')->required(),
+ TextInput::make('tx_team_id'),
TextInput::make('player_name')->required(),
+ DatePicker::make('ss_national_team_id'),
DatePicker::make('birthdate'),
TextInput::make('height'),
TextInput::make('nationality'),
TextInput::make('position'),
- TextInput::make('ss_national_team_id'),
- TextInput::make('tx_team_id'),
- TextInput::make('team_name'),
TextInput::make('preferred_foot'),
DatePicker::make('last_update'),
]),
diff --git a/app/Filament/Clusters/StaticData/Resources/StatistikoPlayers/Schemas/StatistikoPlayerForm.php b/app/Filament/Clusters/StaticData/Resources/StatistikoPlayers/Schemas/StatistikoPlayerForm.php
index 751d7977..cb35ccc0 100644
--- a/app/Filament/Clusters/StaticData/Resources/StatistikoPlayers/Schemas/StatistikoPlayerForm.php
+++ b/app/Filament/Clusters/StaticData/Resources/StatistikoPlayers/Schemas/StatistikoPlayerForm.php
@@ -19,7 +19,6 @@ class StatistikoPlayerForm
TextInput::make('sport_id'),
TextInput::make('match_id'),
TextInput::make('ss_player_id'),
- TextInput::make('ss_player_id'),
TextInput::make('activeteam_id'),
TextInput::make('playersubstitute_id'),
TextInput::make('goals'),
diff --git a/app/Filament/Clusters/StaticData/Resources/StatistikoPlayers/Tables/StatistikoPlayersTable.php b/app/Filament/Clusters/StaticData/Resources/StatistikoPlayers/Tables/StatistikoPlayersTable.php
index ae81b97f..546696a6 100644
--- a/app/Filament/Clusters/StaticData/Resources/StatistikoPlayers/Tables/StatistikoPlayersTable.php
+++ b/app/Filament/Clusters/StaticData/Resources/StatistikoPlayers/Tables/StatistikoPlayersTable.php
@@ -21,12 +21,11 @@ class StatistikoPlayersTable
return $table
->columns([
TextColumn::make('match_id')->searchable(),
- TextColumn::make('details.name')
+ TextColumn::make('ss_player_id')->label('SofaScore Id')->searchable(),
+ TextColumn::make('details.player_name')
->label('Player')
->searchable()
->tooltip(fn($record) => $record->details->full_name),
- TextColumn::make('ss_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'),
])
diff --git a/app/Filament/Imports/Helper/ImportDetails.php b/app/Filament/Imports/Helper/ImportDetails.php
index 342bd2b6..09646923 100644
--- a/app/Filament/Imports/Helper/ImportDetails.php
+++ b/app/Filament/Imports/Helper/ImportDetails.php
@@ -23,6 +23,7 @@ class ImportDetails
$row = array_values($row);
// ss_player_id
+ //
// ss_team_id
// tx_team_id
// player_name
diff --git a/app/Filament/Imports/Helper/ImportPlayer.php b/app/Filament/Imports/Helper/ImportPlayer.php
index f37142ca..3f8b7579 100644
--- a/app/Filament/Imports/Helper/ImportPlayer.php
+++ b/app/Filament/Imports/Helper/ImportPlayer.php
@@ -77,7 +77,7 @@ class ImportPlayer
'penaltyshoutout_missed',
'player_position',
'playerrating_value',
- 'ss_player_id'
+ 'tm_player_id'
];
SimpleExcelReader::create(storage_path('app/public/' . $filePath))
@@ -89,15 +89,12 @@ class ImportPlayer
$row = array_values($row);
- $sport_id = 1;
$match_id = 0;
$ss_player_id = 0;
$update_array = [];
foreach ($fieldnames as $key => $name) {
- if ($key == 0)
- $sport_id = (int) $row[$key];
- else if ($key == 1)
+ if ($key == 1)
$match_id = (int) $row[$key];
else if ($key == 2)
$ss_player_id = (int) $row[$key];
@@ -107,7 +104,6 @@ class ImportPlayer
StatistikoPlayer::updateOrCreate(
[
- 'sport_id' => $sport_id,
'match_id' => $match_id,
'ss_player_id' => $ss_player_id,
],
diff --git a/app/Filament/Pages/Statistic.php b/app/Filament/Pages/Statistic.php
index a052e782..c103d2a6 100644
--- a/app/Filament/Pages/Statistic.php
+++ b/app/Filament/Pages/Statistic.php
@@ -7,6 +7,7 @@ use App\Actions\LoadStatisticFixturesMatchOptions;
use App\Actions\Selections\LoadPlayer;
use App\Actions\Selections\LoadSeasons;
use App\Models\Element;
+use App\Models\SofaScoreRosa;
use App\Models\StatisticFixtures;
use BackedEnum;
use BezhanSalleh\FilamentShield\Traits\HasPageShield;
@@ -108,9 +109,12 @@ class Statistic extends BaseDashboard
if ($get('match_id')) {
$res = StatisticFixtures::where('id', $get('match_id'))->first();
+
$arr = [];
- $arr[$res->home_id] = Element::query()->where('id', $res->home_id)->value('name');
- $arr[$res->away_id] = Element::query()->where('id', $res->away_id)->value('name');
+ if ($res) {
+ $arr[$res->home_id] = SofaScoreRosa::query()->where('ss_team_id', $res->home_id)->value('ss_team_name');
+ $arr[$res->away_id] = SofaScoreRosa::query()->where('ss_team_id', $res->away_id)->value('ss_team_name');
+ }
return $arr;
}
diff --git a/app/Filament/Widgets/Data/LoadPerformance.php b/app/Filament/Widgets/Data/LoadPerformance.php
index 42d21147..062578da 100644
--- a/app/Filament/Widgets/Data/LoadPerformance.php
+++ b/app/Filament/Widgets/Data/LoadPerformance.php
@@ -15,7 +15,6 @@ class LoadPerformance
public static function load(array $filter, bool $hasdots)
{
- // dd($filter);
$league_id = (int) $filter['league_id'] ?? 0;
@@ -34,8 +33,12 @@ class LoadPerformance
$match = StatisticFixtures::with('home')->with('away')->where('id', $match_id)->first();
- $home_id = $match->home_id;
- $away_id = $match->away_id;
+ if (! $match) {
+ return [];
+ }
+
+ $home_id = $match->home_id ?? 0;
+ $away_id = $match->away_id ?? 0;
diff --git a/app/Filament/Widgets/Data/LoadPlayer.php b/app/Filament/Widgets/Data/LoadPlayer.php
index 81400571..505bdc2a 100644
--- a/app/Filament/Widgets/Data/LoadPlayer.php
+++ b/app/Filament/Widgets/Data/LoadPlayer.php
@@ -46,7 +46,7 @@ class LoadPlayer
$statistic_type = 'gls';
}
- $player_name = StatistikoDetail::where('ss_player_id', (int) $ss_player_id)->value('name');
+ $player_name = StatistikoDetail::where('ss_player_id', (int) $ss_player_id)->value('player_name');
$res = StatistikoPlayer::with('event')->where('ss_player_id', (int) $ss_player_id)->get();
diff --git a/app/Models/RosaTournament.php b/app/Models/RosaTournament.php
new file mode 100644
index 00000000..339d9009
--- /dev/null
+++ b/app/Models/RosaTournament.php
@@ -0,0 +1,10 @@
+belongsTo(Element::class);
+ return $this->belongsTo(SofaScoreRosa::class, 'home_id', 'ss_team_id');
}
public function away()
{
- return $this->belongsTo(Element::class);
+ return $this->belongsTo(SofaScoreRosa::class, 'away_id', 'ss_team_id');
}
}
diff --git a/app/Models/StatistikoPlayer.php b/app/Models/StatistikoPlayer.php
index aac630b9..e1e2da0e 100644
--- a/app/Models/StatistikoPlayer.php
+++ b/app/Models/StatistikoPlayer.php
@@ -80,6 +80,6 @@ class StatistikoPlayer extends Model
public function details()
{
- return $this->belongsTo(StatistikoDetail::class, 'tm_player_id', 'tm_player_id');
+ return $this->belongsTo(StatistikoDetail::class, 'ss_player_id', 'ss_player_id');
}
}
diff --git a/database/migrations/2026_06_27_091506_create_sofa_score_player_per_seasons_table.php b/database/migrations/2026_06_27_091506_create_sofa_score_player_per_seasons_table.php
index b6fa3c97..198b1c1a 100644
--- a/database/migrations/2026_06_27_091506_create_sofa_score_player_per_seasons_table.php
+++ b/database/migrations/2026_06_27_091506_create_sofa_score_player_per_seasons_table.php
@@ -14,7 +14,7 @@ return new class extends Migration
Schema::create('sofa_score_player_per_seasons', function (Blueprint $table) {
$table->id();
$table->integer('ss_player_id')->index();
- $table->integer('tx_team_id')->index();
+ $table->integer('ss_team_id')->index();
$table->string('season')->index();
$table->integer('events_played_home')->default(0)->nullable();
$table->integer('events_played_away')->default(0)->nullable();
diff --git a/database/migrations/2026_07_29_132627_create_rosa_tournaments_table.php b/database/migrations/2026_07_29_132627_create_rosa_tournaments_table.php
new file mode 100644
index 00000000..71f45177
--- /dev/null
+++ b/database/migrations/2026_07_29_132627_create_rosa_tournaments_table.php
@@ -0,0 +1,27 @@
+id();
+ $table->timestamps();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('rosa_tournaments');
+ }
+};
diff --git a/database/seeders/SofaScorePlayerPositionSeeder.php b/database/seeders/SofaScorePlayerPositionSeeder.php
index 27085e7a..a27b4f80 100644
--- a/database/seeders/SofaScorePlayerPositionSeeder.php
+++ b/database/seeders/SofaScorePlayerPositionSeeder.php
@@ -26,117 +26,117 @@ class SofaScorePlayerPositionSeeder extends Seeder
('MR', 'Right Midfield'),
('RW', 'Right Winger'),
('ST', 'Centre-Forward'),
- ('DC_AM', 'Centre-Back, Attacking Midfield'),
- ('DL_AM', 'Left-Back, Attacking Midfield'),
- ('DM_AM', 'Defensive Midfield, Attacking Midfield'),
- ('DR_AM', 'Right-Back, Attacking Midfield'),
- ('LW_AM', 'Left Winger, Attacking Midfield'),
- ('MC_AM', 'Central Midfield, Attacking Midfield'),
- ('ML_AM', 'Left Midfield, Attacking Midfield'),
- ('MR_AM', 'Right Midfield, Attacking Midfield'),
- ('RW_AM', 'Right Winger, Attacking Midfield'),
- ('ST_AM', 'Centre-Forward, Attacking Midfield'),
- ('AM_DC', 'Attacking Midfield, Centre-Back'),
- ('DL_DC', 'Left-Back, Centre-Back'),
- ('DM_DC', 'Defensive Midfield, Centre-Back'),
- ('DR_DC', 'Right-Back, Centre-Back'),
- ('LW_DC', 'Left Winger, Centre-Back'),
- ('MC_DC', 'Central Midfield, Centre-Back'),
- ('ML_DC', 'Left Midfield, Centre-Back'),
- ('MR_DC', 'Right Midfield, Centre-Back'),
- ('RW_DC', 'Right Winger, Centre-Back'),
- ('ST_DC', 'Centre-Forward, Centre-Back'),
- ('AM_DL', 'Attacking Midfield, Left-Back'),
- ('DC_DL', 'Centre-Back, Left-Back'),
- ('DM_DL', 'Defensive Midfield, Left-Back'),
- ('DR_DL', 'Right-Back, Left-Back'),
- ('LW_DL', 'Left Winger, Left-Back'),
- ('MC_DL', 'Central Midfield, Left-Back'),
- ('ML_DL', 'Left Midfield, Left-Back'),
- ('MR_DL', 'Right Midfield, Left-Back'),
- ('RW_DL', 'Right Winger, Left-Back'),
- ('ST_DL', 'Centre-Forward, Left-Back'),
- ('AM_DM', 'Attacking Midfield, Defensive Midfield'),
- ('DC_DM', 'Centre-Back, Defensive Midfield'),
- ('DL_DM', 'Left-Back, Defensive Midfield'),
- ('DR_DM', 'Right-Back, Defensive Midfield'),
- ('LW_DM', 'Left Winger, Defensive Midfield'),
- ('MC_DM', 'Central Midfield, Defensive Midfield'),
- ('ML_DM', 'Left Midfield, Defensive Midfield'),
- ('MR_DM', 'Right Midfield, Defensive Midfield'),
- ('RW_DM', 'Right Winger, Defensive Midfield'),
- ('ST_DM', 'Centre-Forward, Defensive Midfield'),
- ('AM_DR', 'Attacking Midfield, Right-Back'),
- ('DC_DR', 'Centre-Back, Right-Back'),
- ('DL_DR', 'Left-Back, Right-Back'),
- ('DM_DR', 'Defensive Midfield, Right-Back'),
- ('LW_DR', 'Left Winger, Right-Back'),
- ('MC_DR', 'Central Midfield, Right-Back'),
- ('ML_DR', 'Left Midfield, Right-Back'),
- ('MR_DR', 'Right Midfield, Right-Back'),
- ('RW_DR', 'Right Winger, Right-Back'),
- ('ST_DR', 'Centre-Forward, Right-Back'),
- ('AM_LW', 'Attacking Midfield, Left Winger'),
- ('DC_LW', 'Centre-Back, Left Winger'),
- ('DL_LW', 'Left-Back, Left Winger'),
- ('DM_LW', 'Defensive Midfield, Left Winger'),
- ('DR_LW', 'Right-Back, Left Winger'),
- ('MC_LW', 'Central Midfield, Left Winger'),
- ('ML_LW', 'Left Midfield, Left Winger'),
- ('MR_LW', 'Right Midfield, Left Winger'),
- ('RW_LW', 'Right Winger, Left Winger'),
- ('ST_LW', 'Centre-Forward, Left Winger'),
- ('AM_MC', 'Attacking Midfield, Central Midfield'),
- ('DC_MC', 'Centre-Back, Central Midfield'),
- ('DL_MC', 'Left-Back, Central Midfield'),
- ('DM_MC', 'Defensive Midfield, Central Midfield'),
- ('DR_MC', 'Right-Back, Central Midfield'),
- ('LW_MC', 'Left Winger, Central Midfield'),
- ('ML_MC', 'Left Midfield, Central Midfield'),
- ('MR_MC', 'Right Midfield, Central Midfield'),
- ('RW_MC', 'Right Winger, Central Midfield'),
- ('ST_MC', 'Centre-Forward, Central Midfield'),
- ('AM_ML', 'Attacking Midfield, Left Midfield'),
- ('DC_ML', 'Centre-Back, Left Midfield'),
- ('DL_ML', 'Left-Back, Left Midfield'),
- ('DM_ML', 'Defensive Midfield, Left Midfield'),
- ('DR_ML', 'Right-Back, Left Midfield'),
- ('LW_ML', 'Left Winger, Left Midfield'),
- ('MC_ML', 'Central Midfield, Left Midfield'),
- ('MR_ML', 'Right Midfield, Left Midfield'),
- ('RW_ML', 'Right Winger, Left Midfield'),
- ('ST_ML', 'Centre-Forward, Left Midfield'),
- ('AM_MR', 'Attacking Midfield, Right Midfield'),
- ('DC_MR', 'Centre-Back, Right Midfield'),
- ('DL_MR', 'Left-Back, Right Midfield'),
- ('DM_MR', 'Defensive Midfield, Right Midfield'),
- ('DR_MR', 'Right-Back, Right Midfield'),
- ('LW_MR', 'Left Winger, Right Midfield'),
- ('MC_MR', 'Central Midfield, Right Midfield'),
- ('ML_MR', 'Left Midfield, Right Midfield'),
- ('RW_MR', 'Right Winger, Right Midfield'),
- ('ST_MR', 'Centre-Forward, Right Midfield'),
- ('AM_RW', 'Attacking Midfield, Right Winger'),
- ('DC_RW', 'Centre-Back, Right Winger'),
- ('DL_RW', 'Left-Back, Right Winger'),
- ('DM_RW', 'Defensive Midfield, Right Winger'),
- ('DR_RW', 'Right-Back, Right Winger'),
- ('LW_RW', 'Left Winger, Right Winger'),
- ('MC_RW', 'Central Midfield, Right Winger'),
- ('ML_RW', 'Left Midfield, Right Winger'),
- ('MR_RW', 'Right Midfield, Right Winger'),
- ('ST_RW', 'Centre-Forward, Right Winger'),
- ('AM_ST', 'Attacking Midfield, Centre-Forward'),
- ('DC_ST', 'Centre-Back, Centre-Forward'),
- ('DL_ST', 'Left-Back, Centre-Forward'),
- ('DM_ST', 'Defensive Midfield, Centre-Forward'),
- ('DR_ST', 'Right-Back, Centre-Forward'),
- ('LW_ST', 'Left Winger, Centre-Forward'),
- ('MC_ST', 'Central Midfield, Centre-Forward'),
- ('ML_ST', 'Left Midfield, Centre-Forward'),
- ('MR_ST', 'Right Midfield, Centre-Forward'),
- ('RW_ST', 'Right Winger, Centre-Forward');
-";
+ ('DC-AM', 'Centre-Back, Attacking Midfield'),
+ ('DL-AM', 'Left-Back, Attacking Midfield'),
+ ('DM-AM', 'Defensive Midfield, Attacking Midfield'),
+ ('DR-AM', 'Right-Back, Attacking Midfield'),
+ ('LW-AM', 'Left Winger, Attacking Midfield'),
+ ('MC-AM', 'Central Midfield, Attacking Midfield'),
+ ('ML-AM', 'Left Midfield, Attacking Midfield'),
+ ('MR-AM', 'Right Midfield, Attacking Midfield'),
+ ('RW-AM', 'Right Winger, Attacking Midfield'),
+ ('ST-AM', 'Centre-Forward, Attacking Midfield'),
+ ('AM-DC', 'Attacking Midfield, Centre-Back'),
+ ('DL-DC', 'Left-Back, Centre-Back'),
+ ('DM-DC', 'Defensive Midfield, Centre-Back'),
+ ('DR-DC', 'Right-Back, Centre-Back'),
+ ('LW-DC', 'Left Winger, Centre-Back'),
+ ('MC-DC', 'Central Midfield, Centre-Back'),
+ ('ML-DC', 'Left Midfield, Centre-Back'),
+ ('MR-DC', 'Right Midfield, Centre-Back'),
+ ('RW-DC', 'Right Winger, Centre-Back'),
+ ('ST-DC', 'Centre-Forward, Centre-Back'),
+ ('AM-DL', 'Attacking Midfield, Left-Back'),
+ ('DC-DL', 'Centre-Back, Left-Back'),
+ ('DM-DL', 'Defensive Midfield, Left-Back'),
+ ('DR-DL', 'Right-Back, Left-Back'),
+ ('LW-DL', 'Left Winger, Left-Back'),
+ ('MC-DL', 'Central Midfield, Left-Back'),
+ ('ML-DL', 'Left Midfield, Left-Back'),
+ ('MR-DL', 'Right Midfield, Left-Back'),
+ ('RW-DL', 'Right Winger, Left-Back'),
+ ('ST-DL', 'Centre-Forward, Left-Back'),
+ ('AM-DM', 'Attacking Midfield, Defensive Midfield'),
+ ('DC-DM', 'Centre-Back, Defensive Midfield'),
+ ('DL-DM', 'Left-Back, Defensive Midfield'),
+ ('DR-DM', 'Right-Back, Defensive Midfield'),
+ ('LW-DM', 'Left Winger, Defensive Midfield'),
+ ('MC-DM', 'Central Midfield, Defensive Midfield'),
+ ('ML-DM', 'Left Midfield, Defensive Midfield'),
+ ('MR-DM', 'Right Midfield, Defensive Midfield'),
+ ('RW-DM', 'Right Winger, Defensive Midfield'),
+ ('ST-DM', 'Centre-Forward, Defensive Midfield'),
+ ('AM-DR', 'Attacking Midfield, Right-Back'),
+ ('DC-DR', 'Centre-Back, Right-Back'),
+ ('DL-DR', 'Left-Back, Right-Back'),
+ ('DM-DR', 'Defensive Midfield, Right-Back'),
+ ('LW-DR', 'Left Winger, Right-Back'),
+ ('MC-DR', 'Central Midfield, Right-Back'),
+ ('ML-DR', 'Left Midfield, Right-Back'),
+ ('MR-DR', 'Right Midfield, Right-Back'),
+ ('RW-DR', 'Right Winger, Right-Back'),
+ ('ST-DR', 'Centre-Forward, Right-Back'),
+ ('AM-LW', 'Attacking Midfield, Left Winger'),
+ ('DC-LW', 'Centre-Back, Left Winger'),
+ ('DL-LW', 'Left-Back, Left Winger'),
+ ('DM-LW', 'Defensive Midfield, Left Winger'),
+ ('DR-LW', 'Right-Back, Left Winger'),
+ ('MC-LW', 'Central Midfield, Left Winger'),
+ ('ML-LW', 'Left Midfield, Left Winger'),
+ ('MR-LW', 'Right Midfield, Left Winger'),
+ ('RW-LW', 'Right Winger, Left Winger'),
+ ('ST-LW', 'Centre-Forward, Left Winger'),
+ ('AM-MC', 'Attacking Midfield, Central Midfield'),
+ ('DC-MC', 'Centre-Back, Central Midfield'),
+ ('DL-MC', 'Left-Back, Central Midfield'),
+ ('DM-MC', 'Defensive Midfield, Central Midfield'),
+ ('DR-MC', 'Right-Back, Central Midfield'),
+ ('LW-MC', 'Left Winger, Central Midfield'),
+ ('ML-MC', 'Left Midfield, Central Midfield'),
+ ('MR-MC', 'Right Midfield, Central Midfield'),
+ ('RW-MC', 'Right Winger, Central Midfield'),
+ ('ST-MC', 'Centre-Forward, Central Midfield'),
+ ('AM-ML', 'Attacking Midfield, Left Midfield'),
+ ('DC-ML', 'Centre-Back, Left Midfield'),
+ ('DL-ML', 'Left-Back, Left Midfield'),
+ ('DM-ML', 'Defensive Midfield, Left Midfield'),
+ ('DR-ML', 'Right-Back, Left Midfield'),
+ ('LW-ML', 'Left Winger, Left Midfield'),
+ ('MC-ML', 'Central Midfield, Left Midfield'),
+ ('MR-ML', 'Right Midfield, Left Midfield'),
+ ('RW-ML', 'Right Winger, Left Midfield'),
+ ('ST-ML', 'Centre-Forward, Left Midfield'),
+ ('AM-MR', 'Attacking Midfield, Right Midfield'),
+ ('DC-MR', 'Centre-Back, Right Midfield'),
+ ('DL-MR', 'Left-Back, Right Midfield'),
+ ('DM-MR', 'Defensive Midfield, Right Midfield'),
+ ('DR-MR', 'Right-Back, Right Midfield'),
+ ('LW-MR', 'Left Winger, Right Midfield'),
+ ('MC-MR', 'Central Midfield, Right Midfield'),
+ ('ML-MR', 'Left Midfield, Right Midfield'),
+ ('RW-MR', 'Right Winger, Right Midfield'),
+ ('ST-MR', 'Centre-Forward, Right Midfield'),
+ ('AM-RW', 'Attacking Midfield, Right Winger'),
+ ('DC-RW', 'Centre-Back, Right Winger'),
+ ('DL-RW', 'Left-Back, Right Winger'),
+ ('DM-RW', 'Defensive Midfield, Right Winger'),
+ ('DR-RW', 'Right-Back, Right Winger'),
+ ('LW-RW', 'Left Winger, Right Winger'),
+ ('MC-RW', 'Central Midfield, Right Winger'),
+ ('ML-RW', 'Left Midfield, Right Winger'),
+ ('MR-RW', 'Right Midfield, Right Winger'),
+ ('ST-RW', 'Centre-Forward, Right Winger'),
+ ('AM-ST', 'Attacking Midfield, Centre-Forward'),
+ ('DC-ST', 'Centre-Back, Centre-Forward'),
+ ('DL-ST', 'Left-Back, Centre-Forward'),
+ ('DM-ST', 'Defensive Midfield, Centre-Forward'),
+ ('DR-ST', 'Right-Back, Centre-Forward'),
+ ('LW-ST', 'Left Winger, Centre-Forward'),
+ ('MC-ST', 'Central Midfield, Centre-Forward'),
+ ('ML-ST', 'Left Midfield, Centre-Forward'),
+ ('MR-ST', 'Right Midfield, Centre-Forward'),
+ ('RW-ST', 'Right Winger, Centre-Forward');
+ ";
DB::unprepared($sql);
}
}