Php 如何在laravel中输出奇偶行
我有一个项目,我从数据库中提取帖子,并在主页视图中呈现。就像一个博客。(在主页上,我将此限制为3篇帖子) 我在表中有6行,希望根据奇数行和偶数行设置输出样式 这是我的控制器:Php 如何在laravel中输出奇偶行,php,laravel,Php,Laravel,我有一个项目,我从数据库中提取帖子,并在主页视图中呈现。就像一个博客。(在主页上,我将此限制为3篇帖子) 我在表中有6行,希望根据奇数行和偶数行设置输出样式 这是我的控制器: public function index() { $counter = Post::count(); $posts= DB::table('posts')->orderBy('id', 'DESC')->limit(3)->get(); return view('home',com
public function index()
{
$counter = Post::count();
$posts= DB::table('posts')->orderBy('id', 'DESC')->limit(3)->get();
return view('home',compact('posts','counter'));
}
我希望偶数行具有
,奇数行具有
当我在$计数器上dd
时,我得到值6。这是正确的。我的桌子上有6行
根据我找到的其他文章,我目前正在尝试:
@foreach ($posts as $post)
@if($counter % 2 == 0)
<div class="even">{{$post->title}}</div>
@else
<div class="odd">{{$post->title}}</div>
@endif
@foreach($posts as$post)
@如果($counter%2==0)
{{$post->title}
@否则
{{$post->title}
@恩迪夫
这没什么用。仍将行输出为6,5,4,3,2,1
那么我如何在Foreach循环中编写IF语句来表示
if ($counter == odd)
<div class="odd">
else
<div class="even">
if($counter==奇数)
其他的
我要找的订单是:
- 奇怪的
- 甚至
- 奇怪的
- 甚至
$counter
是一个静态变量,因此调用$counter%2==0
将始终显示相同的结果。如果您使用的是5.4+,@foreach()
中包含一个$loop
变量。因此,您可以在循环中访问您的mod division
@foreach ($posts as $post)
@if($loop->iteration % 2 == 0)
<div class="even">{{$post->title}}</div>
@else
<div class="odd">{{$post->title}}</div>
@endif
@endforeach
@foreach($posts as$post)
@如果($loop->迭代%2==0)
{{$post->title}
@否则
{{$post->title}
@恩迪夫
@endforeach
您需要在每次迭代中增加计数器
@php
$counter = 1;
@endphp
@foreach ($posts as $post)
@if($counter % 2 == 0)
<div class="even">{{$post->title}}</div>
@else
<div class="odd">{{$post->title}}</div>
@endif
@php
$counter++;
@endphp
@endforeach
@php
$counter=1;
@endphp
@foreach($posts作为$post)
@如果($counter%2==0)
{{$post->title}
@否则
{{$post->title}
@恩迪夫
@php
$counter++;
@endphp
@endforeach
Laravel 5.8.5在Blade循环变量中添加偶数和奇数布尔标志
现在您可以使用:
$loop->偶数或$loop->奇数
而不是
$loop->迭代%2
我使用的是5.7,我不知道$loop变量。这很有效。在这种情况下,$counter
就不需要了,对吗?没错,$loop应该能够处理它。当我发现关于$loop
的事情时,我升级到了5.4。经常派上用场。这也很有效,但是$loop变量在我看来有点干净。谢谢你的帮助。