У меня есть следующие таблицы:Laravel соединения двух моделей в модели пользователя
Пользователи Игры Персонажи
пользователь будет иметь одну активную игру в то время, и из этой игры, будет иметь один активный характер ,
Я хочу, чтобы выполнить следующие дзёи на моем столе аутентификации:
SELECT * FROM users
LEFT OUTER JOIN games ON games.ID = users.active_gameid
LEFT OUTER JOIN characters ON characters.ID = games.active_charid
Попытка игнорировать SELECT * часть.
Я хотел бы выполнить эти присоединяется на моем Auth столе как только загрузку страницы, так что я использовал мою модель пользователя, чтобы сделать следующее:
class User extends Eloquent implements UserInterface, RemindableInterface { public function game() { return $this->hasOne('game', 'ID', 'active_gameid'); } } class game extends Eloquent { protected $table = "games"; public function character() { return $this->hasOne('character', 'ID', 'active_charid'); } } class character extends Eloquent { protected $table = "characters"; }
выше не работает вывод следующий раз возвращает значение NULL:
var_dump(Auth::user()->game->character);
Я пытался сделать очевидные проверки, такие как убедившись, что данные в таблице, и такие, и что все, кажется, хорошо.
Помогает ли кто-нибудь в том, где я ошибаюсь?
Спасибо!
Пробовали ли вы var_dumping 'Auth :: пользователь()' и 'Auth :: user() -> game' самостоятельно? – Dencker