Я делаю сайт с командами, командными матчами и матчевыми событиями.В каждом командном матче есть команда хозяев и команда гостей.Каждое событие матча имеет командный матч и команду.
Проблема в том, что я получаю события командного матча для конкретного командного матча, но для домашней команды я также избегаю командные события.
команды
id | name
team_matches
id | home_team_id | away_team_id
team_match_events
id | team_match_id | team_id | событие
Модель команды
public function homeTeamMatch()
{
return $this->hasMany(TeamMatch::class, 'home_team_id');
}
public function awayTeamMatch()
{
return $this->hasMany(TeamMatch::class, 'away_team_id');
}
TeamMatch Model
public function homeTeam()
{
return $this->belongsTo(Team::class, 'home_team_id');
}
public function awayTeam()
{
return $this->belongsTo(Team::class, 'away_team_id');
}
public function homeTeamMatchEvent()
{
return $this->hasManyThrough(
TeamMatchEvent::class,
TeamMatch::class,
'home_team_id',
'team_match_id',
'id',
'id'
);
}
TeamMatchEvent Model
public function teamMatch()
{
return $this->belongsTo(TeamMatch::class);
}
public function team()
{
return $this->belongsTo(Team::class);
}
В HomeController
$last_match_results = TeamMatch::with('homeTeam.homeTeamMatchEvent')->first();
Когда я выбираю совпадения с командой, я хочу получить домашнюю команду и соответствующее совпадениесобытия этого конкретного командного матча, и то же самое для команды гостей.