如何在foreach循环中跳转第二个索引

时间:2018-04-02 14:14:59

标签: laravel loops foreach

我正在尝试循环。每个索引都显示不同的视图。所以我必须把它们分开。我做的。

@foreach($videos as $video)

 @if ($loop->first)
    <div class="col-md-12">
        <a href="{{$video->url}}"><img src="{{('/storage/'.$video->thumbnail('top_cropped'))}}" class="embed-responsive" alt=""></a>
    </div>
 @endif
    <div class="col-md-6 col-6 mt-10px">
        <a href="{{$video->url}}"><img src="{{('/storage/'.$video->thumbnail('cropped'))}}" class="embed-responsive" alt=""></a>
    </div>
@endforeach

在这个情节中,第一个div得到了foreach的第一个价值。

第二个div获得了foreach的第一个价值。 这是实际问题

第3个div获得了foreach的第二个价值。它必须是第三。

第一个div的第一个值

第二和第三个值将转到第二个div

我需要在$ loop-&gt;之后从第二个索引开始foreach循环。我无法弄清楚解决方案。 我也试过

@foreach ($videos as $key => $video)
@if($key > 0)
//Codes
@endif

这也是我的控制器:

$videos = Video::latest()->take(3)->get();

我没有做到这一点。我认为这是一个常见的问题。但对我来说解决方案并不简单。提前致谢。

1 个答案:

答案 0 :(得分:2)

假设您已经显示了需要显示的视频数量

@foreach($videos as $key=> $video)
    @php $modulus = $key%3 @enphp
    @if ($modulus == 0)
        // 1st template
        <div class="col-md-12">
          <a href="{{$video->url}}"><img src="{{('/storage/'.$video->thumbnail('top_cropped'))}}" class="embed-responsive" alt=""></a>
        </div>
    @elseif($modulus == 1)
        // 2nd template
        <div class="col-md-6 col-6 mt-10px">
          <a href="{{$video->url}}"><img src="{{('/storage/'.$video->thumbnail('cropped'))}}" class="embed-responsive" alt=""></a>
        </div>
    @elseif($modulus == 2)
      // third template goes here
    @endif
@endforeach