我正试图根据存储在数据库中的内容来填充我的网页。不过,我想跳过第一项;我想从第二项开始循环。
我如何才能做到这一点?
@foreach($aboutcontent as $about)
<div class="col-md-4 text-center">
<div class="thumbnail">
<img id="" class="img-responsive" src="images/{{ $about->aboutimg }}" alt="">
<div class="caption">
<h3>{{ $about->aboutname }}</h3>
<p>{{ $about->aboutinfo }}</p>
</div>
</div>
</div>
@endforeach
8条答案
按热度按时间qyzbxkaa1#
从Laravel 5.4开始,每当你在blade文件中使用
foreach
或for
时,你现在可以访问一个$loop变量。$loop变量提供了许多有用的属性和方法,其中一个在这里很有用,可以跳过第一次迭代。请参阅下面的示例,这是一种更简洁的方法,可以实现与其他较旧的答案相同的结果:bbmckpt72#
试试这个:
yqlxgs2m3#
假设
$aboutcontents
是一个数字数组,只需使用老式的for
循环,而不是新的foreach
循环。kknvjkwl4#
有两种方法可以做到这一点:1-如果你的$key是数字,你可以用途:
2-如果$key不是数字,则使用@loop->first作为条件
jckbn6z75#
如果你想在blade中做到这一点,你需要某种计数器:
编辑:
我更喜欢马克·贝克在评论中提供的答案
yzuktlbb6#
或者,你可以在迭代之前从数组中删除第一个元素:
优点是您不需要任何条件来验证您不是第一次迭代中的。缺点是,您可能需要同一视图中的第一个元素,但我们无法从您的示例中得知。
注意在将数据传递给视图之前 * 从数组中删除第一个元素可能更有意义。
有关参考,请参见:
zbwhf8kr7#
试试这个
klh5stk18#
从Laravel 5.3开始,你可以使用
@continue($loop->first)