J'ai une boucle foreach et à l'intérieur qui contient du html avec des colonnes bootstrap.
@foreach($address as $add)
<div class="col-md-6">
Some data
</div>
@endforeach
Cependant, bootstrap nécessite le div de ligne avant de créer des colonnes, le placer directement dans la boucle foreach créerait un div de ligne pour chaque col-md-6. Je veux savoir comment je peux ajouter la ligne div, sautez la boucle suivante en lançant uniquement la balise div de fermeture, puis répétez ce processus.
Exemple de sortie où les boucles 4 fois:
<div class="row">
<div class="col-md-6">
Some data
</div>
<div class="col-md-6">
Some data
</div>
</div>
<div class="row">
<div class="col-md-6">
Some data
</div>
<div class="col-md-6">
Some data
</div>
</div>
Comme alternative à la réponse d'Alexey Mezenin, vous pouvez utiliser array_chunk
À la place. http://php.net/manual/en/function.array-chunk.php
@foreach(array_chunk($address, 2) as $chunk)
<div class="row">
@foreach($chunk as $add)
<div class="col-md-6">
Some data
</div>
@endforeach
</div>
@endforeach
Personnellement, je trouve ce qui précède un peu plus lisible.
Alternativement, si $address
Est une collection, vous pouvez faire $address->chunk(2)
au lieu de array_chunk($address, 2)
.
Si vous souhaitez modifier le nombre de colonnes dont vous disposez, il vous suffira de modifier le 2
Pour avoir le nombre de colonnes souhaité.
J'espère que cela t'aides!
Utilisez le $loop
variable :
<div class="row">
@foreach($address as $add)
<div class="col-md-6">
Some data
</div>
@if ($loop->iteration % 2 == 0)
</div>
<div class="row">
@endif
@endforeach
</div>
Vous pouvez utiliser Laravel chunk dans le modèle de lame.
@foreach($products->chunk(3) as $items)
<div class="row">
@foreach($items as $item)
<div class="col-md-4 portfolio-item">
<a href="#">
<img class="img-responsive" src="{{ 'uploads/'.$item->product_image_url }}" alt="">
</a>
<h3>
<a href="/view-product-details/{{ $item->id }}">{{ $item->product_name }}</a>
</h3>
<p>{{ str_limit($item->product_description, 121) }}</p>
</div>
@endforeach
</div>
@endforeach
Copié à partir du blogpost .