Search code examples
laravel-4

Laravel 4 adding numbers from foreach loop when count variable is supplied?


I am passing the array $cats to my laravel template view. It is a multidimensional array from a database transaction, containing category data. So it would contain data like:

$cat[0]['id'] = 1;
$cat[0]['name'] = 'First Category';

And so on. In my blade template I have the following code:

            {{ $i=0 }}
            @foreach($cats as $cat)

                    {{ $cat['name'] }}<br />

                {{ $i++ }}

            @endforeach

Which outputs:

0 First Category
1 Second Category
2 Third Category

Notice the numbers preceding the category name. Where are they coming from? Is this some clever Laravel trick? It seems that when you include a counter variable, they are automatically added. I can't find any mention of it anywhere, and I don't want them! How do I get rid of them?

Thanks.


Solution

  • You just need to use the plain php translation:

    @foreach ($collection as $index => $element)
       {{$index}} - {{$element['name']}}
    @endforeach
    

    EDIT:

    Note the $index will start from 0, So it should be {{ $index+1 }}