Je passe le tableau $ cats à la vue de mon modèle Laravel. Il s'agit d'un tableau multidimensionnel issu d'une transaction de base de données, contenant des données de catégorie. Donc, il contiendrait des données comme:
$cat[0]['id'] = 1;
$cat[0]['name'] = 'First Category';
Etc. Dans mon modèle de lame, j'ai le code suivant:
{{ $i=0 }}
@foreach($cats as $cat)
{{ $cat['name'] }}<br />
{{ $i++ }}
@endforeach
Quelles sorties:
0 First Category
1 Second Category
2 Third Category
Notez les numéros précédant le nom de la catégorie. D'où viennent-ils? Est-ce une astuce Laravel intelligente? Il semble que lorsque vous incluez une variable de compteur, elles sont automatiquement ajoutées. Je ne trouve aucune mention de cela nulle part, et je n'en veux pas! Comment puis-je me débarrasser d'eux?
Merci.
Vous avez juste besoin d'utiliser la traduction php simple:
@foreach ($collection as $index => $element)
{{$index}} - {{$element['name']}}
@endforeach
MODIFIER:
Notez que le $index
commencera à partir du 0
, il devrait donc s'agir de {{ $index+1 }}
La syntaxe {{ }}
dans la lame signifie essentiellement écho. Vous faites écho à $i++
à chaque itération de votre boucle. si vous ne voulez pas que cette valeur se répète, vous devriez plutôt envelopper dans les balises php. par exemple.:
<?php $i=0 ?>
@foreach($cats as $cat)
{{ $cat['name'] }}<br />
<?php $i++ ?>
@endforeach
En outre, si vous choisissez de travailler dans des tableaux, c’est votre appel, mais à moins que vous n’ayez une raison spécifique de le faire, je vous encourage à utiliser la syntaxe des objets. beaucoup de sucre supplémentaire une fois que vous vous y êtes habitué.
@foreach($cats as $cat)
{{ (isset($i))?$i++:($i = 0) }} - {{$cat['name']}}
@endforeach
<? php $i = 0 ?>
@foreach ( $variable_name as $value )
{{ $ value }}<br />
< ? php $i++ ?>
@endforeach