Laravel 5 如何使用快速加载Laravel5.2获取多表记录

Laravel 5 如何使用快速加载Laravel5.2获取多表记录,laravel-5,eloquent,eager-loading,Laravel 5,Eloquent,Eager Loading,我有三个表(用户、帖子和收藏夹)。 我如何获得所有与拉雷维尔雄辩的帖子,以及最喜欢的帖子和谁标记为最喜欢的人的名字 用户 身份证件 名称 电子邮件 帖子 身份证件 名字 最喜欢的 身份证件 用户id 邮政编码 这就是我在控制器中尝试做的,但无法在视图中迭代它 $posts=Post::with('favorites','users')->take(10)->get() 请查看此文件以了解更多详细信息。在您的视图文件中尝试 @forech($posts as $post) @foreac

我有三个表(用户、帖子和收藏夹)。 我如何获得所有与拉雷维尔雄辩的帖子,以及最喜欢的帖子和谁标记为最喜欢的人的名字

用户 身份证件 名称 电子邮件

帖子 身份证件 名字

最喜欢的 身份证件 用户id 邮政编码

这就是我在控制器中尝试做的,但无法在视图中迭代它

$posts=Post::with('favorites','users')->take(10)->get()

请查看此文件以了解更多详细信息。

在您的视图文件中尝试

@forech($posts as $post)

    @foreach($post->favourites as $favourite)

           //do your staff here like

           {{ $favourite->users->name }}
    @endforeach
@endforech
在您的视图文件中尝试

@forech($posts as $post)

    @foreach($post->favourites as $favourite)

           //do your staff here like

           {{ $favourite->users->name }}
    @endforeach
@endforech

谢谢你的回答,但你不认为这会导致N+1问题吗?好的,然后你可以在你的帖子中用“Favorite.users”这样的收藏夹加载用户::(“Favorite.users”,“otherRelations”)是的,它更好,我现在有个问题。我只想登录用户查看他喜欢的帖子,目前,嵌套循环获取所有用户喜欢的内容,如何解决这一问题。访问此网站将帮助您了解快速加载约束。在您的例子中,尝试Post::with(['favorite'=>function($query){return$query->with(['users'=>function($q){return$q->where(条件在这里,或者您可以使用多个where())},'users']->take(10)->get();谢谢你的回答,但你不认为这会导致N+1问题吗?好的,然后你可以在你的帖子中用“Favorite.users”这样的收藏夹加载用户::(“Favorite.users”,“otherRelations”)是的,它更好,我现在有个问题。我只想登录用户查看他喜欢的帖子,目前,嵌套循环获取所有用户喜欢的内容,如何解决这一问题。访问此网站将帮助您了解快速加载约束。在您的例子中,尝试Post::with(['favorite'=>function($query){return$query->with(['users'=>function($q){return$q->where(条件在这里,或者您可以使用多个where())},'users']->take(10)->get();