Laravel渴望加载多态关系

时间:2014-01-31 18:13:26

标签: php laravel laravel-4 eager-loading

尝试加载模型及其相关模型,但相关模型即使具有相关数据也会返回null。

群组模型对于游戏或玩家来说是多态的1:1。

群组模型关系:

public function groupable()
{
    return $this->morphTo();
}

游戏模型关系:

public function group()
{
    return $this->morphOne('Group', 'groupable');
}

玩家模型关系:

public function group()
{
    return $this->morphOne('Group', 'groupable');
}

查询加载组然后游戏:

$group = Group::whereSubdomain($id)->first();
$game = $group->game;

群组返回群组但游戏返回null。

以下是Groups表的示例数据库条目:

id    subdomain    groupable_id    groupable_type
5     Starmade     10              Game

以下是Games表的示例数据库条目:

id    genre    rating
10    7        4.5

不知道我哪里错了没有比赛回来。

1 个答案:

答案 0 :(得分:3)

试试这个。这可能有所帮助。

    public function groupable()
{
    return $this->morphTo('groupable');
}

我的问题太早了,也许你有像我一样的问题。基本上我所做的就是帮助Laravel找到它需要查找的列。