2011-06-01 15 views
8

Tengo un problema extraño con la rama en Symfony2. Estoy utilizando la siguiente matriz:Twig olvida las teclas de matriz

[days] => Array 
    (
     [1] => Array 
      (
       [money] => 9 
      ) 

     [2] => Array 
      (
       [money] => 21 
      ) 

     [3] => Array 
      (
       [money] => 38 
      ) 

     [4] => Array 
      (
       [money] => 6 
      ) 

     [18] => Array 
      (
       [money] => 6 
      ) 

     [19] => Array 
      (
       [money] => 3 
      ) 

     [31] => Array 
      (
       [money] => 11 
      ) 

    ) 

para probar esto he utilizado el siguiente código

{% for key in days %} 
    {{ key }}<br> 
{% endfor %} 

pero el resultado muestra la siguiente

0 
1 
2 
3 
4 
5 
6 

pero debería tener este aspecto

1 
2 
3 
4 
18 
19 
31 

Looks li ke twig crea una nueva matriz con nuevos índices. ¿Hay alguna manera de obtener el índice correcto de la matriz?

Con var_dump($days) en php Puedo ver el índice correcto, por lo que el "problema" está relacionado con la rama.

+0

'{{key.money}}'? – igorw

+0

Hola igorw, no quiero el valor monetario, necesito la clave del arreglo principal. – mrohnstock

+1

Pruebe '{% debug days%}', estoy apostando a que ese es el valor en twig ('array_values',' array_shift', etc.). Las posibilidades son algo que reindexa la matriz. ¿El primer valor es mostrar lo que pasa en '$ twig_env-> rendering ($ days);'? –

Respuesta

5

No está relacionado en ramita, es una brecha conocida en doctrine-mongodb usando embeddedDocuments. Doctrine no puede manejar valores-clave de embeddedDocuments, reordenará las claves desde 0 e ignorará los pares clave-valor correctos. Gracias de todos modos por tu ayuda :).

8

Tal vez esto

http://www.twig-project.org/doc/templates.html

Por defecto, un bucle itera sobre los valores de la secuencia. Se puede recorrer en las teclas utilizando el filtro de teclas:

<h1>Members</h1> 
<ul> 
    {% for key in users|keys %} 
    <li>{{ key }}</li> 
    {% endfor %} 
</ul> 
+0

Gracias por su respuesta, el mismo problema con | claves ... :( – mrohnstock

+0

@Monty Intenté emular su configuración, y esta solución funcionó para mí (por cierto, {{key}} no funcionó en absoluto) ... ¿Puedes publicar el código que estás usando en la acción también? – Problematic

+0

Hola problemático, publiqué todo el código en github/twig: https://github.com/fabpot/Twig/issues/347. Olvidé el segundo valor para, como imagen por azat, pero tampoco funciona. – mrohnstock

Cuestiones relacionadas