我有一个项目,我从数据库中提取帖子,并在主页视图上呈现。就像博客。(在主页上,我限制这3个职位)
我在表中有6行,并希望根据奇数行和偶数行设置输出样式。
这是我的控制器:
public function index()
{
$counter = Post::count();
$posts= DB::table('posts')->orderBy('id', 'DESC')->limit(3)->get();
return view('home',compact('posts','counter'));
}
字符串
我希望偶数行具有<div class="even">
,奇数行具有<div class="odd">
当dd
在$counter
上时,我得到的值是6。这是正确的。“我在表中有6行。
我目前正在尝试的是基于我找到的其他文章:
@foreach ($posts as $post)
@if($counter % 2 == 0)
<div class="even">{{$post->title}}</div>
@else
<div class="odd">{{$post->title}}</div>
@endif
型
这不起任何作用。仍将行输出为6,5,4,3,2,1
那么,我该如何在Foreach循环中编写IF语句来表示...
if ($counter == odd)
<div class="odd">
else
<div class="even">
型
我要找的订单是:
- 奇数
- 偶数
- 奇
- 偶数
3条答案
按热度按时间u91tlkcl1#
$counter
是一个静态变量,因此调用$counter % 2 == 0
将始终显示相同的结果。如果您使用的是Laravel 5.4+,则
@foreach()
中包含一个$loop
变量。所以你可以在循环中访问你的mod分区。这里是Laravel 5.4+的示例
字符串
yeotifhr2#
Laravel 5.8.5在Blade循环变量中添加偶数和奇数布尔标志
现在您可以用途:
$loop->even或$loop->odd
而不是
$loop->迭代% 2
Reference link
chy5wohz3#
您需要在每次迭代时递增计数器。
字符串