我有一个项目,我从数据库中提取帖子并在主页视图上呈现.像博客一样. (在主页上我将此限制为3个帖子)
我在表中有6行,并希望根据ODD和偶数行设置输出样式.
这是我的控制器:
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”>
当我在$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">
我正在寻找的订单是:
>奇怪
>甚至
>奇怪
>甚至
解决方法:
$counter是一个静态变量,因此调用$counter%2 == 0将始终显示相同的结果.如果你使用5.4,@ foreach()中包含一个$loop变量.所以你可以在循环中访问你的mod分区.
@foreach ($posts as $post)
@if($loop->iteration % 2 == 0)
<div class="even">{{$post->title}}</div>
@else
<div class="odd">{{$post->title}}</div>
@endif