2016-02-09 1 views
0

Будучи новым для laravel, эта довольно простая вещь меня смущает. Обратите внимание на то нижеLaravel - Blade выходы переменные, которые я добавляю в

{{ $i = 0}} 
@foreach($openhours as $id => $day) 
    <tr> 
     <td>{{$id}}</td> 
     <td>{{$day}}</td> 
     <td>{{$note[$i]}}</td> 
    </tr> 
    {{ $i++ }} 
@endforeach 

, как указано выше показывает, я просто итерацию через массив, где я также выводить определенный индекс из другого массива. Затем добавляется один к индексу на каждой итерации. Вышеупомянутые работы, но моя проблема заключается в том, что лезвие также выводит $i

Как я могу предотвратить это?

ответ

1

Вы можете предотвратить это поведение, используя теги PHP непосредственно в blade-сервере. Хотя это побеждает всю цель, и обычно это показатель того, что вы не делаете что-то правильно, если вам нужно это сделать. Как бы там ни было.

<?php $i = 0 ?> 
@foreach($openhours as $id => $day) 
<tr> 
    <td>{{$id}}</td> 
    <td>{{$day}}</td> 
    <td>{{$note[$i]}}</td> 
</tr> 
<?php $i++ ?> 
@endforeach 

Фигурные скобки в лезвии приводит к <?php echo ?> так что ваша переменная показывает, потому что вы сделали это <?php echo i++ ?>

+0

имеет смысл .. Я на самом деле нашел целую другое решение, так что я не нужно иметь итерационный счетчик , Но для справки я также наткнулся на более «неряшливое» решение, которое я особо не радовал использовать: '{{//i i = 0;/-}}' однако это тоже сработало. Но снова я нашел другое решение, в котором не требовалось итератора. –

+0

Хорошо, вы должны отметить ответ, потому что он фактически решает проблему – CreativityKills