与 Twig symfony 的动态变量连接

Concatenation with dynamic variables for Twig symfony

我对 twig 的连接有一个特定的问题。 当我尝试连接显示错误的动态变量时。 这是我的代码:

{% set i = 0 %}
{% set nbLignes = codeEvt.nb_lignes_~i %}
{% set nbLignesRef = codeEvt.nb_lignes_ref_~i %}

但是我有这个错误信息:

Method "nb_lignes_" for object "\DTO\SuiviJourFonc" does not exist in XXXXXXXXX.html.twig at line 211

我想使用 codeEvt.nb_lignes_0 ,但我想为 nb_lignes_1, nb_lignes_2 , nb_lignes_3 ...[= 等其他变量构建一个 "for" 13=]

我该怎么做?

attribute 可用于访问变量的 dynamic 属性: Twig 1.2新增属性函数

{{ attribute(object, method) }}

{{ attribute(object, method,arguments) }}

{{ attribute(array, item) }}

这样试试,

{{ attribute(codeEvt, 'nb_lignes_ref_' ~ i) }}

你可以试试类似数组的表示法:

{{ codeEvt['nb_lignes_ref_' ~ i] }}

甚至使用字符串插值:

{{ codeEvt["nb_lignes_ref_#{i}"] }}