web-dev-qa-db-ja.com

Laravel Blade:毎回1ずつ変数をインクリメントしますか?

Laravelブレードテンプレートを使用して、変数を含めて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

16
I'll-Be-Back

イテレータを@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から始まるためです。

20
Limon Monte

Laravel 5.3では、具体的な状況にループ変数、$ loop-> iterationを使用できます。 https://laravel.com/docs/5.3/blade#the-loop-変数

例:

@foreach ($questions as $question)
    <tr>
        <th scope="row">{{ $loop->iteration }}</th>
        <td>{{ $question->question }}</td>
        <td>{{ $question->category_id }}</td>
    </tr>
@endforeach
14
kosta

Foreachループにキー値を追加します

@foreach($questions as $key => $question)
<tr>
    <th scope="row">{{ ++$key }}</th>
    <td>{{ $question->question }}</td>
    <td>{{ $question->category_id }}</td>
</tr>
@endforeach
4
Shubham Bansal

{{ $loop->iteration }}を使用して1から制限まで繰り返す

@foreach($categories as $category)
  <li><a href="#tab_c{{ $loop->iteration }}" role="tab" data-toggle="tab">{{$category->name}}</a></li>
@endforeach
4
Unni K S