如何在循环中连接两个Twig变量


How to concatenate two Twig variables in a loop

我试图创建动态变量的名称,所以结果是下面的

{{ form_label(form.user_1) }}
 {{ form_label(form.user_2) }}
 {{ form_label(form.user_3) }}
 {{ form_label(form.user_4) }}

这是我到目前为止尝试的

{%  for user in users %}
      {{ form_label(form.user~'_'~loop.index) }}
 {% endfor %}

but get

传递给的参数1Symfony'Component'Form'FormRenderer::searchAndRenderBlock()必须是一个实例Symfony'Component'Form'FormView, string given

我做错了什么?

我认为你必须使用属性()函数。

如果这对方法参数中的连接不起作用,请尝试先在变量中连接它,如下所示:

{% set userIndex = 'user_' ~ loop.index %}

然后你应该试试这个:

{{ form_label(attribute(form, userIndex)) }}