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

Vod*_*kan 1 php templates symfony twig

我正在尝试创建动态变量名称,因此结果如下所示

{{ form_label(form.user_1) }}
 {{ form_label(form.user_2) }}
 {{ form_label(form.user_3) }}
 {{ form_label(form.user_4) }}
Run Code Online (Sandbox Code Playgroud)

这是我到目前为止尝试过的

{%  for user in users %}
      {{ form_label(form.user~'_'~loop.index) }}
 {% endfor %}
Run Code Online (Sandbox Code Playgroud)

但得到

传递给 Symfony\Component\Form\FormRenderer::searchAndRenderBlock() 的参数 1 必须是 Symfony\Component\Form\FormView 的一个实例,给出的字符串

我做错了什么?

Meu*_*euh 5

我认为你必须使用attribute()函数

如果这对方法参数中的连接不起作用,请尝试先将其连接到这样的变量中:

{% set userIndex = 'user_' ~ loop.index %}
Run Code Online (Sandbox Code Playgroud)

然后你应该试试这个:

{{ form_label(attribute(form, userIndex)) }}
Run Code Online (Sandbox Code Playgroud)