我有一个项目,我要从数据库中提取帖子并在主页 View 上进行渲染。就像博客一样。 (在首页上,我将其限制为3个帖子)

我在表中有6行,并希望根据ODD和Even行设置输出样式。

这是我的 Controller :

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">

我要的顺序是:
  • 奇怪的
  • 甚至
  • 奇怪的
  • 甚至
  • 最佳答案

    $counter是一个静态变量,因此调用$counter % 2 == 0将始终显示相同的结果。如果您使用的是5.4+,则$loop中包含一个@foreach()变量。因此,您可以在循环中访问您的mod部门。

    @foreach ($posts as $post)
        @if($loop->iteration % 2 == 0)
            <div class="even">{{$post->title}}</div>
        @else
            <div class="odd">{{$post->title}}</div>
        @endif
    @endforeach
    

    关于php - 如何在Laravel中输出奇数行和偶数行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54598522/

    10-09 23:54