-
-
Save JeffreyWay/6252012 to your computer and use it in GitHub Desktop.
@foreach(array_chunk($posts, 3) as $postSet) | |
<div class="row"> <!-- this div will surround every three posts --> | |
@foreach($postSet as $post) | |
<h3>{{ $post['title'] }}</h3> | |
@endforeach | |
</div> | |
@endforeach |
There's a solution involving an additional partial, but I'm not sure if it's 'cleaner.'
An alternative...a little harder to understand than yours, but just proposing it as an alternative
Edit: Downside is you would have extra h3 tags sitting there too (although you could fix that).
@for($i = 0, $count = count($posts); $i < $count; $i += 3)
<div class="row"> <!-- this div will surround every three posts -->
<h3>{{ array_get($posts, $i.'.title') }}</h3>
<h3>{{ array_get($posts, ($i + 1).'.title') }}</h3>
<h3>{{ array_get($posts, ($i + 2).'.title') }}</h3>
</div>
@endforeach
Or you could use the modulus trick. Mostly was wondering if there was any secret Eloquent method for handling this. I guess array_chunk is the easiest way to go about it.
I was actually looking for this exact solution yesterday. This is much cleaner than what I came up with. Thanks.
Hmm.. I can't think of anything much cleaner. Like Zack said maybe a partial thing. I dunno.
Whenever I try this, array_chunk complains about getting an object instead of an array. I'm passing an Eloquent model. Any tips?
Try:
@foreach(array_chunk($posts->all(), 3) as $postSet)
instead of:
@foreach(array_chunk($posts, 3) as $postSet)
I guess this is fine as is...was just curious if there was an alternative.