Check this out, y’all.
Have you ever found yourself setting a counter variable on a foreach
loop and thinking “there has to be a better way!”
Well check out the $loop
variable in Blade:
https://laravel.com/docs/5.5/blade#the-loop-variable
The loop variable is available inside @foreach
loops and offers the following properties (blatantly stolen from the above-linked documentation):
Property | Description |
---|---|
$loop->index |
The index of the current loop iteration (starts at 0). |
$loop->iteration |
The current loop iteration (starts at 1). |
$loop->remaining |
The iteration remaining in the loop. |
$loop->count |
The total number of items in the array being iterated. |
$loop->first |
Whether this is the first iteration through the loop. |
$loop->last |
Whether this is the last iteration through the loop. |
$loop->depth |
The nesting level of the current loop. |
$loop->parent |
When in a nested loop, the parent’s loop variable. |
So you can do things like this:
@foreach ($users as $user)
@if ($loop->first)
This is the first iteration.
@endif
@if ($loop->last)
This is the last iteration.
@endif
<p>This is user {{ $user->id }}</p>
@endforeach
How cool is that??