У меня есть игровая база данных, в которой у матча есть две команды (team_home_id и team_away_id).Пользователи могут делать прогнозы для этих игр.
Таким образом, модель Match имеет следующее:
public function teamHome()
{
return $this->belongsTo(Team::class, 'team_home_id');
}
public function teamAway()
{
return $this->belongsTo(Team::class, 'team_away_id');
}
Я хочу получить все прогнозы от конкретного пользователя для этого матча.Модель прогнозирования имеет полиморфную таблицу (потому что есть прогнозы на совпадение и прогнозы на весь сезон).
В контроллере я делаю это:
$matches = Match::where('match_day', $match_day)->with('teamHome', 'teamAway', 'predictions')->get();
foreach ($matches as $match) {
echo $match->teamHome->code . '-';
echo $match->teamAway->code . ' ';
// echoing is just for testing purpose
//dd($match->predictions); // this is the problem, what is the best way?
}
Я получил массив с прогнозами, которыеЯ не могу назначить конкретному пользователю или только с помощью foreach вручную и назначить его другому массиву.Но я не думаю, что это был бы хороший способ.
Как я могу решить эту проблему?
Заранее спасибо.