2016-10-22 11 views
0

私は3つのテーブル(ユーザー、投稿、お気に入り)を持っています。 お気に入りの投稿とそれをお気に入りとしてマークした人の名前とともに、laravel eloquentの投稿をすべて取得するにはどうすればいいですか?熱心な読み込みでマルチテーブルレコードを取得する方法Laravel5.2

ユーザー ID 名 メール

投稿 ID 名

お気に入り ID のuser_id post_idの

これは何ですか私はコントローラでやろうとしていますが、それを見て反復するのは難しいです。

$ posts = post( 'favorites'、 'users') - > take(10) - > get();

詳細はlinkをご覧ください。ビューファイルで

答えて

2

は、あなたの答えのための

@forech($posts as $post) 

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

      //do your staff here like 

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

感謝をしてみてください、しかし、あなたは、これはN + 1problemになりますとは思いませんか? –

+0

あなたのポストでこのfavourite.usersのようなお気に入りのユーザーを熱心に読み込むことができます:: with( "favourite.users"、 "otherRelations") –

+0

はい、その優れたもの、今問題があります。彼のお気に入りの投稿を表示するためにログインしたユーザーだけです。ネストされたループは、すべてのユーザーが好きなように取り出します。 –

関連する問題