2017-12-11 9 views
0

$のレビューには10個の配列があり、最初の5個だけを表示しようとしています。これは私が今までに出てきたものです。Laravel最初の5つの配列のみを表示

@for ($i = 0; $i < 6; $i++) 
@foreach ($reviews as $reviews; i++) 
    <p>Body</p> 
@endforeach 
@endfor 

なぜこれが機能しないのでしょうか?

+0

として$reviews行の値を変更...あなたのコードが間違っているレビュー・アレイを投稿してください。 – GYaN

+1

foreachはあなたのやり方では動作しませんでした –

+1

コレクションではなく配列の場合: '@foreach($ reviews、0,5)as $ reviews)' –

答えて

1

あなたはtake方法を使用することができCollectionsを使用していると仮定する方法(here参照)

$コレクション=集める([0、1、2、3、4、5])。

$ chunk = $ collection-> take(3);

$ chunk-> all();

// [0、1、2]

使用

$reviews2 = $reviews->take(5); 
@foreach ($reviews2 as $review) 
    <p>{{ $review->body }}</p> 
@endforeach 
0

あなただけのテイクメソッドを使用し@foreach

@for ($i = 0; $i < 6; $i++) 
    @foreach ($reviews as $review) 
     {{$i++}} 
     @if ($i < 1) 
      <p>Body</p> 
     @endif 
    @endforeach 
@endfor 
+0

私はそれを更新しました@RishiRaut、それに気をつけてくれてありがとう。 –

2

内のループを制限する@ifを使用することができますし、 foreachループを実行すると、

@foreach($reviews->take(5) as $review) 
     <p>{{ $review->body }}</p>   
    @endforeach 

私はそれはあなたが求めているとあなたはforeach

<?php $i = 1; ?> 
@foreach ($reviews as $review) 
    <p>Body</p> 
    @if ($i == 5) 
     break; 
    @endif 
    <?php $i++; ?> 
@endforeach 
0

はるかに簡単かつきれいだと思います。

これはなぜ機能しないのでしょうか?

あなたがここにi++

@for ($i = 0; $i < 6; $i++) 
    @foreach ($reviews as $key=>$values) 
    <p>{{$i}} : Body</p> 
    @endforeach 
@endfor 

注構文エラーがあるために:$values

+0

'$ reviews as $ reviews'はいいですか? – OIIO

0

の間違った構文を書かれている

関連する問題