dongwei7913 2015-07-30 07:40
浏览 140
已采纳

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

I'm trying to create dynamically variable name so the result to be as the one below

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

Here's what I tried so far

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

but get

Argument 1 passed to Symfony\Component\Form\FormRenderer::searchAndRenderBlock() must be an instance of Symfony\Component\Form\FormView, string given

What I'm doing wrong?

  • 写回答

1条回答 默认 最新

  • dongtang1944 2015-07-30 07:56
    关注

    I think that you have to use the attribute() function.

    If this doesn't work with the concatenation in the method parameter, try to concatenate it first in a variable like this :

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

    And then you should try this :

    {{ form_label(attribute(form, userIndex)) }}
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?