на данный момент я пытаюсь выучить Laravel и Laravel Eloquent. Я пытаюсь решить проблему, используя отношения в Laravel.
У меня есть следующая структура базы данных в моем простом Laravel проекте.
table players:
id name
table clubs:
id name icon
table players_x_clubs:
player_id club_id
это один ко многим отношениям.
Можно ли получить полный клубный объект, который объединен с player_id?!
Первая попытка была добавить это в мою модель игрока
public function club()
{
return $this->hasOne('App\PlayersXClub');
}
Здесь я получаю Отношения PlayersXClub только с player_id и club_id
, но я хочу получить полный объект клуба со стола клуба, возможно ли это простым способом?
Любые идеи, как я должен понять, правильно ли это?
Мое решение было так:
public function getClubRelation()
{
$clubRelation = $this->hasOne('App\PlayersXClub')->get()->first();
$club = Club::whereId($clubRelation->club_id)->get()->first();
return $club;
}
С этим решением я могу сделать это в своем коде $player->getClubRelation()->icon
но я не знаю, правильно ли это решено или есть более простой способ решить его с помощью Eloquent?