Laravel雄辩关系用户组帖子

时间:2014-01-10 08:32:34

标签: php laravel eloquent

我正在尝试获取用户组,并在该组中包含帖子。

这将返回用户组,但组也必须包含该组的帖子。帖子有group_id到发布的地方

获取用户的代码:

return User::find(1)->groups;

我的用户模型:

public function groups()
{
    return $this->belongsToMany('Group');
}

我的小组模特:

public function posts()
{
    return $this->hasMany('Post');
}

2 个答案:

答案 0 :(得分:1)

您需要指定要与用户一起检索的关系,例如:

$user = User::with('groups')->find(1);

此外,我建议您在关系中指定关键字以提升效果。

此外,如果您需要嵌套,可以这样做:

$user = User::with('groups.posts')->find(1);

这将加载用户组以及该组中的帖子。它在laravel文档中说明。请参阅:eager loading

答案 1 :(得分:0)

以下是您的需求:return User::with('groups', 'groups.posts')->find(1);

查看http://laravel.com/docs/eloquent#eager-loading

部分底部的嵌套预先加载