我有以下表格:
用户游戏角色
用户将同时拥有一个活动游戏,并且从该游戏中将具有一个活动角色 .
我想在我的身份验证表上执行以下joi:
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表上执行这些连接,所以我一直在使用我的User模型执行以下操作:
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);
我试图进行明显的检查,例如确保数据在表格中等等,而且一切似乎都很好 .
有没有人对我出错的地方有任何帮助?
谢谢!
1 回答
你的关系错了:
显然它不会调用您的查询,而是2个单独的查询: