/ / Modificar una variable de hoja de laravel sin mostrarla - php, laravel, blade, laravel-blade

Modifique una variable de hoja laravel sin mostrarla - php, laravel, blade, laravel-blade

En mi código de blade, necesito un contador, para dar divs que sean renderizados por una id. Única de bucle foreach. Para ese fin, creé una variable en mi plantilla de blade como esta:

{{ $counter = 0 }}

Lo uso en el HTML simplemente imprimiéndolo con {{ $counter = 0 }}

y luego, lo incremento así: {{ $counter++ }}

Todo funciona como un encanto, excepto que en {{ $counter++ }} no solo incrementa la variable, sino que también la envía a la vista.

¿hay alguna forma de prevenir esto?

Respuestas

1 para la respuesta № 1

Yo uso esta extensión para establecer variables en blade: https://github.com/RobinRadic/blade-extensions

Puede usar simple como @set ($ count, 1) o cualquier valor que desee.


1 para la respuesta № 2

Al principio, agregar lógica en la plantilla de Blade es una mala práctica, pero a veces nos vemos obligados a hacerlo, en ese caso, puedes usar etiquetas PHP para esto de la siguiente manera:

<?php $counter++; ?>

Otra forma de hacerlo en Laravel 5.4 como documentos indicar:

En algunas situaciones, es útil incrustar código PHP en sus vistas. puede usar la directiva Blade @php para ejecutar un bloque de PHP plano dentro de su plantilla:

@php
$counter++;
@endphp

Si tiene sus posiciones en las claves de matriz, puede utilizarla en la @foreach Me gusta esto:

@foreach ($variable as $key => $value)
//current position = $key
# code...
@endforeach