Twig 迭代变量
Twig iterate with variables
我有一个这样的数组:
array['a'] = {x => 1, y => 2...}
array['b'] = {x => 5, y => 7...}
我需要遍历数组,但在每种情况下我只需要输入我选择的 'a' 或 'b'。
{% for i in main %}
{% set id = i.getId %}
{% for j in array.id %}
//do something like j.propertyA ...
{% endfor %}
{% endfor %}
失败总是得到错误:"The key 'id' for array with keys 'a', 'b'... does not exist"
如果我强行写:
{% for j in array.a %}
该程序始终与 array.a 一起工作,但我需要自动与所有一起工作。
有什么想法吗?谢谢:)
我认为您需要 array|keys twig 过滤器。查看更多:http://twig.sensiolabs.org/doc/filters/keys.html.
将{% for j in array.id %}
更改为{% for j in array[id] %}
这是因为您正试图直接从数组(未定义)访问“id
”(如所写)。使用 [id]
您的变量将替换为它的值,因此您的调用不会失败
我有一个这样的数组:
array['a'] = {x => 1, y => 2...}
array['b'] = {x => 5, y => 7...}
我需要遍历数组,但在每种情况下我只需要输入我选择的 'a' 或 'b'。
{% for i in main %}
{% set id = i.getId %}
{% for j in array.id %}
//do something like j.propertyA ...
{% endfor %}
{% endfor %}
失败总是得到错误:"The key 'id' for array with keys 'a', 'b'... does not exist"
如果我强行写:
{% for j in array.a %}
该程序始终与 array.a 一起工作,但我需要自动与所有一起工作。
有什么想法吗?谢谢:)
我认为您需要 array|keys twig 过滤器。查看更多:http://twig.sensiolabs.org/doc/filters/keys.html.
将{% for j in array.id %}
更改为{% for j in array[id] %}
这是因为您正试图直接从数组(未定义)访问“id
”(如所写)。使用 [id]
您的变量将替换为它的值,因此您的调用不会失败