2017-06-05 8 views
0

コンテンツを何度も繰り返さずに、ブレードでforeachをより多く使用する方法を教えてください。ブレードで二重foreachを使用する望ましくない重複コンテンツ

$review = Review::orderBy('created_at', 'desc')->paginate(9); 
    $info_games = array(); 
    $games = array(); 
    foreach ($review as $value) { 
     $info_games[] = InfoGames::where('id_game', $value->id_game)->first(); 
     $games[] = Games::where('id', $value->id_game)->first(); 
    } 
    return view('front.pages.review.list', compact('review','info_games','games')); 

と私のブレード:

@foreach ($review as $value) 
@foreach ($info_games as $info_game) 
    <div> 
     <img src="https://gamelite.net/{{$info_game->image}}"> 
     <p>{!! str_limit($value->body, 150) !!}</p> 
    </div> 
@endforeach 
@endforeach 
{!! $review->render() !!} 
+0

あなたは、再びドキュメントを見て[雄弁で関係]を参照する必要があります(http://laravel.com/docs/5.4/eloquent-relationships)。上記のあなたのコードは非常に多くの選択肢を生成します。私がこのコンピュータを実行していたとすれば、私は故意にクラッシュします。 – Kyslik

+0

熱心な負荷との関係を使用するhttps://laravel.com/docs/5.4/eloquent-relationships#one-to-many – xmhafiz

答えて

0

使用array_filter($配列)。一意に戻ります。あなたのケースで が

$info_games = array_filter($info_games); 
関連する問題