Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Laravel: blade foreach looping bootstrap columns

I have a foreach loop and inside that contains html with bootstrap columns.

@foreach($address as $add)
    <div class="col-md-6">
        Some data
    </div>
@endforeach

However, bootstrap requires the row div before creating columns, placing that straight in to the foreach loop would create a row div for each col-md-6. I want to know how I can throw in the row div, skip the next loop throwing in only the closing div tag. And then repeat that process.

Example output where the loops 4 times:

<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>
like image 947
Thomas Charlesworth Avatar asked Jan 14 '17 13:01

Thomas Charlesworth


1 Answers

As an alternative to Alexey Mezenin's answer you could use array_chunk instead. 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

I personally find the the above a little more readable.

Alternatively, if $address is a collection you could do $address->chunk(2) instead of array_chunk($address, 2).

If you want to change the amount of columns you have you would simply need to change the 2 to be however many columns you want.

like image 184
Rwd Avatar answered Oct 01 '22 09:10

Rwd