web-dev-qa-db-fra.com

Laravel Blade: incrémenter la variable de 1 à chaque fois?

En utilisant Laravel modèle de lame, existe-t-il un moyen d'inclure une variable et d'augmenter chaque fois dans foreach ou quelle est la meilleure approche?

Par exemple:

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

Dans le bloc foreach, la valeur de # tab_c1 devra être augmentée. par exemple: #tab_c1, #tab_c2, #tab_c3

16
I'll-Be-Back

Ajouter un itérateur à @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}} dans mon exemple car dans PHP itérateur commence à 0.

20
Limon Monte

Dans Laravel 5.3 vous pouvez utiliser la variable de boucle, $ loop-> itération pour une situation concrète. 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
14
kosta

Utilisez simplement la valeur de clé. Pour la plupart des tableaux, ce sera juste 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
4
Styphon

Ajouter une valeur clé dans la boucle 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

tilisez simplement {{ $loop->iteration }} pour itérer de 1 à limite

@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