Laravel Blade:每次增量变化1?

I'l*_*ack 17 php laravel blade laravel-4

使用Laravel刀片模板,是否有一种方法可以包含变量并在foreach中每次增加或者更好的方法是什么?

例如:

@foreach($categories as $category)
  <li><a href="#tab_c1" role="tab" data-toggle="tab">{{$category->name}}</a></li>
@endforeach
Run Code Online (Sandbox Code Playgroud)

foreach块中,#tab_c1的值需要增加.例如:#tab_c1, #tab_c2, #tab_c3

Lim*_*nte 21

将迭代器添加到@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
Run Code Online (Sandbox Code Playgroud)

{{$key+1}} 在我的例子中,因为在PHP中,迭代器从0开始.


kos*_*sta 14

在Laravel 5.3中,您可以使用循环变量,$ loop->迭代来获取具体情况. https://laravel.com/docs/5.3/blade#the-loop-variable

Exapmle:

@foreach ($questions as $question)
    <tr>
        <th scope="row">{{ $loop->iteration }}</th>
        <td>{{ $question->question }}</td>
        <td>{{ $question->category_id }}</td>
    </tr>
@endforeach
Run Code Online (Sandbox Code Playgroud)


Hir*_*age 12

你可以试试这个:

@php($count=0)

@foreach($unit->materials as $m)
    @if($m->type == "videos")
        @php($count++)
    @endif
@endforeach

{{$count}}
Run Code Online (Sandbox Code Playgroud)


小智 7

在 foreach 循环中添加键值

@foreach($questions as $key => $question)
<tr>
    <th scope="row">{{ ++$key }}</th>
    <td>{{ $question->question }}</td>
    <td>{{ $question->category_id }}</td>
</tr>
@endforeach
Run Code Online (Sandbox Code Playgroud)


Unn*_*K S 6

只需使用 {{ $loop->iteration }} 从 1 迭代到限制

@foreach($categories as $category)
  <li><a href="#tab_c{{ $loop->iteration }}" role="tab" data-toggle="tab">{{$category->name}}</a></li>
@endforeach
Run Code Online (Sandbox Code Playgroud)


Sty*_*hon 5

只需使用键值即可。对于大多数数组来说,它只是 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
Run Code Online (Sandbox Code Playgroud)