Подтвердить что ты не робот

Laravel 4 добавляет числа из цикла foreach, когда включена переменная счетчика?

Я передаю массив $cat в мой шаблон шаблона laravel. Это многомерный массив из транзакции базы данных, содержащий данные категории. Таким образом, он будет содержать такие данные, как:

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

И так далее. В моем шаблоне клинка у меня есть следующий код:

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

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

                {{ $i++ }}

            @endforeach

Какие выходы:

0 First Category
1 Second Category
2 Third Category

Обратите внимание на номера, предшествующие названию категории. Откуда они? Это какой-то умный трюк Laravel? Кажется, что когда вы включаете переменную счетчика, они автоматически добавляются. Я не могу никого упомянуть об этом, и я не хочу их! Как я могу избавиться от них?

Спасибо.

4b9b3361

Ответ 1

Вам просто нужно использовать простой перевод php:

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

EDIT:

Обратите внимание, что $index начнется с 0, поэтому это должно быть {{ $index+1 }}

Ответ 2

Синтаксис {{ }} в лезвии по существу означает эхо. Вы повторяете $i++ на каждой итерации цикла. если вы не хотите, чтобы это значение было эхом, вы должны вместо этого переносить теги php. например:.

<?php $i=0 ?>

@foreach($cats as $cat)
    {{ $cat['name'] }}<br />
<?php $i++ ?>
@endforeach

В качестве дополнительной заметки, если вы решите работать в массивах, то это ваш вызов, но если у вас нет конкретных причин для этого, я бы посоветовал вам работать с синтаксисом объекта, красноречивые объекты коллекции в laravel могут быть повторены так же, как массивы, но дайте вам много дополнительного сахара, как только вы привыкнете к нему.

Ответ 3

<? php $i = 0 ?>
@foreach ( $variable_name as $value )
    {{ $ value }}<br />
< ? php $i++ ?>
@endforeach

Ответ 4

@foreach($cats as $cat)
    {{ (isset($i))?$i++:($i = 0) }} - {{$cat['name']}}
@endforeach

Ответ 5

Вы можете использовать встроенный помощник для этого: {{ $cat->incrementing }}.