Laravel Blade:变量每次加1?
Laravel Blade: Increment variable by 1 each time?
使用 Laravel blade 模板,有没有办法在 foreach 中包含一个变量并每次增加,或者更好的方法是什么?
例如:
@foreach($categories as $category)
<li><a href="#tab_c1" role="tab" data-toggle="tab">{{$category->name}}</a></li>
@endforeach
在foreach
块中,#tab_c1的值需要增加。例如:#tab_c1, #tab_c2, #tab_c3
只需使用键值即可。对于大多数只会为 0 的数组。
@foreach($categories as $i => $category)
<li{{ $i == 0 ? ' class="active"' : '' }}><a href="#tab_c{{ $i }}" role="tab" data-toggle="tab">{{$category->name}}</a></li>
@endforeach
将迭代器添加到 @foreach
:
@foreach($categories as $key => $category)
<li @if ($key === 0) class="active" @endif>
<a href="#tab_c{{$key+1}}" role="tab" data-toggle="tab">
{{$category->name}}
</a>
</li>
@endforeach
{{$key+1}}
在我的示例中,因为在 PHP 中,迭代器从 0 开始。
在Laravel 5.3中你可以使用循环变量,$loop->iteration具体情况。
https://laravel.com/docs/5.3/blade#the-loop-variable
示例:
@foreach ($questions as $question)
<tr>
<th scope="row">{{ $loop->iteration }}</th>
<td>{{ $question->question }}</td>
<td>{{ $question->category_id }}</td>
</tr>
@endforeach
在foreach循环中添加键值
@foreach($questions as $key => $question)
<tr>
<th scope="row">{{ ++$key }}</th>
<td>{{ $question->question }}</td>
<td>{{ $question->category_id }}</td>
</tr>
@endforeach
只需使用{{ $loop->iteration }}从1迭代到limit
@foreach($categories as $category)
<li><a href="#tab_c{{ $loop->iteration }}" role="tab" data-toggle="tab">{{$category->name}}</a></li>
@endforeach
你可以试试这个:
@php($count=0)
@foreach($unit->materials as $m)
@if($m->type == "videos")
@php($count++)
@endif
@endforeach
{{$count}}
这应该可以解决问题
@php 等同于 php 打开和关闭标签 laravel
<?php $count=0; ?>
@php($count=0)
<table>
<th>#</th>
<th>Category Name</th>
<tbody>
@php($count=0)
@foreach($categories as $category)
@php($count++)
<tr>
<td>{{$count}}</td>
<td>{{$category->name}}</td>
</tr>
@endforeach
</tbody>
</table>
使用 Laravel blade 模板,有没有办法在 foreach 中包含一个变量并每次增加,或者更好的方法是什么?
例如:
@foreach($categories as $category)
<li><a href="#tab_c1" role="tab" data-toggle="tab">{{$category->name}}</a></li>
@endforeach
在foreach
块中,#tab_c1的值需要增加。例如:#tab_c1, #tab_c2, #tab_c3
只需使用键值即可。对于大多数只会为 0 的数组。
@foreach($categories as $i => $category)
<li{{ $i == 0 ? ' class="active"' : '' }}><a href="#tab_c{{ $i }}" role="tab" data-toggle="tab">{{$category->name}}</a></li>
@endforeach
将迭代器添加到 @foreach
:
@foreach($categories as $key => $category)
<li @if ($key === 0) class="active" @endif>
<a href="#tab_c{{$key+1}}" role="tab" data-toggle="tab">
{{$category->name}}
</a>
</li>
@endforeach
{{$key+1}}
在我的示例中,因为在 PHP 中,迭代器从 0 开始。
在Laravel 5.3中你可以使用循环变量,$loop->iteration具体情况。 https://laravel.com/docs/5.3/blade#the-loop-variable
示例:
@foreach ($questions as $question)
<tr>
<th scope="row">{{ $loop->iteration }}</th>
<td>{{ $question->question }}</td>
<td>{{ $question->category_id }}</td>
</tr>
@endforeach
在foreach循环中添加键值
@foreach($questions as $key => $question)
<tr>
<th scope="row">{{ ++$key }}</th>
<td>{{ $question->question }}</td>
<td>{{ $question->category_id }}</td>
</tr>
@endforeach
只需使用{{ $loop->iteration }}从1迭代到limit
@foreach($categories as $category)
<li><a href="#tab_c{{ $loop->iteration }}" role="tab" data-toggle="tab">{{$category->name}}</a></li>
@endforeach
你可以试试这个:
@php($count=0)
@foreach($unit->materials as $m)
@if($m->type == "videos")
@php($count++)
@endif
@endforeach
{{$count}}
这应该可以解决问题 @php 等同于 php 打开和关闭标签 laravel
<?php $count=0; ?>
@php($count=0)
<table>
<th>#</th>
<th>Category Name</th>
<tbody>
@php($count=0)
@foreach($categories as $category)
@php($count++)
<tr>
<td>{{$count}}</td>
<td>{{$category->name}}</td>
</tr>
@endforeach
</tbody>
</table>