此代码有效,但在我学习Laravel时,我想知道是否使用Blade + Laravel语法,可以更好地实现
<?php
$i = 1;
while ($i <= (5 - $post->images->count())) {
echo '<div class="col"> </div>';
$i++;
}
?>
由于
答案 0 :(得分:1)
我不确定这是最好的方法,但是可以。
<?php $z = 0; ?>
@while ($z < 3)
{{ "test".$z }}
<?php $z++ ?>
@endwhile
答案 1 :(得分:1)
@php
$i = 0;
@endphp
@while (++$i <= (5 - $post->images->count()))
<div class="col">
</div>
@endwhile
答案 2 :(得分:0)
https://laravel.com/docs/5.5/blade#loops
在这种情况下,我建议使用for循环而不是while循环:
@for ($i = 1; $i <= (5 - $post->images->count()); $i++)
<div class="col"> </div>
@endfor
答案 3 :(得分:0)
是的,有。模板就是为此而制作的,你可以看到文档的相似之处:laravel blade : loops
@for ($i = 0; $i < $post->images->count()); $i++)
<div class="col"> </div>
@endfor
答案 4 :(得分:0)
@for ($i = 0; $i <= (5 - $post->images->count()); $i++)
<div class="col"> </div>
@endfor
答案 5 :(得分:0)
更好的解决方案是使用@foreach
@foreach( $image as $post->images )
<div class="col"> </div>
@endforeach
答案 6 :(得分:0)
在这种特定情况下因为你在循环 count() 你应该使用 foreach,但是你可能也对 @forelse 感兴趣:
@forelse($image as $img)
<div class="col"> {{ $img }}</div>
@empty
<div class="col"> NO IMAGES </div>
@endforesle