
Alejandro González Reyes
Pregunta¿Existe alguna forma que dentro de twig se pueda declarar un acumulador?
{{ suma += objeto.edad }}

Alejandro González Reyes
Lo logre…
Mi solución es la siguiente
Este es mi Modelo Jobs
<?php namespace App\Models; use Illuminate\Database\Eloquent\Model; /** * Esta clase hereda de la clase Model de ELoquent * En esta sección vamos a trabajar con un ORM para hacer las consultas a la base * de datos */ class Job extends Model { private static $sumaMeses = 0; private $limiteMeses = 30; protected $table = "jobs"; public $timestamps = false; /*public function __construct($title = "N/D", $description = "Descripción del puesto no disponible") { $nuevoTitulo = "<strong>Job: </strong>" . $title; parent::__construct($nuevoTitulo, $description); }*/ public function getTiempoLaboral() { $num_anios = intdiv($this->months, 12); $num_meses = $this->months % 12; $leyenda = ''; $bandera_y = false; if($num_anios > 0) { $bandera_y = true; if($num_anios > 1) $leyenda = "$num_anios años"; else $leyenda = "$num_anios año"; } if($num_meses > 0) { if($num_meses > 1) $leyenda .= $bandera_y ? " y $num_meses meses" : "$num_meses meses"; else $leyenda .= $bandera_y ? " y $num_meses mes" : "$num_meses mes"; } return 'Experiencia laboral: ' . $leyenda; } public function imprimirDetalles() { self::$sumaMeses += $this->months; if(self::$sumaMeses > $this->limiteMeses) { return; } if($this->getAttribute('visible')) { echo "<li class='work-position'>"; echo "<h5>{$this->title}</h5>"; echo "<p>". $this->description ."</p>"; echo "<p>". $this->getTiempoLaboral() ."</p>"; echo "<strong>Achievements:</strong>"; echo "</li>"; } } }``` Y en la vista lo imprimo asi
<div>
<h3 class=“border-bottom-gray” >Work Experience</h3>
<ul>
{% for job in jobs %}
{{ job.imprimirDetalles() }}
{% endfor %}
</ul>
</div>

Alejandro González Reyes
si la edad le corresponde a cada objeto, y la suma la obtengo por cada edad de objeto iterado. ¿Corrigeme, será necesario una propiedad estática para que no cambie su valor?

Hector Benitez
El objetivo de usar twig es no tener lógica dentro de la vista, yo te recomiendo que envies al template el valor de la suma como una variable mas.