Symfony 使用属性具有可变索引的细枝打印数组值

Symfony 使用属性具有可变索引的细枝打印数组值,symfony,twig,symfony4,Symfony,Twig,Symfony4,我有一根树枝 globals: dayindex: 1: 'Monday' 2: 'Tuesday' 3: 'Wednesday' 4: 'Thursday' 5: 'Friday' 6: 'Saturday' 7: 'Sunday' 我想使用表单集合字段值从细枝访问它。 如果我尝试 {{ dump(attribute(dayindex, form.vars.value.da

我有一根树枝

globals:
    dayindex:
        1: 'Monday'
        2: 'Tuesday'
        3: 'Wednesday'
        4: 'Thursday'
        5: 'Friday'
        6: 'Saturday'
        7: 'Sunday'
我想使用表单集合字段值从细枝访问它。 如果我尝试

{{ dump(attribute(dayindex, form.vars.value.day)) }}
我明白了 具有键“1、2、3、4、5、6、7”的数组的键“”不存在。 即使{form.vars.value.day}打印其中一个键

以下代码

{% set day = 1 %}
{{ form.vars.value.day }} - {{ day }}
{{ dump(attribute(dayindex, day)) }}
打印出:

1-1

“星期一”


如果我用form.vars.value.day替换day,我会得到上面提到的错误。

可能是您的变量是字符串,这就是twig无法在数组中找到这样一个索引的原因

尝试:


尽管所有“我的收藏”条目都具有有效的day值,但当symfony尝试创建原型条目时会触发此错误,该原型条目的day值默认为null

{% if form.vars.value.day > 0 %}
    {{attribute(dayindex, form.vars.value.day | number_format) }}
{% endif %}

根本问题是什么?你想归档什么?我想要{{attribute(dayindex,form.vars.value.day}}要打印星期一。我想创建一个标记,为相应的日期值保存相应的日期名称。您的
表单.vars.value.day
不正确,并且没有错误消息所示的空。显示它以检查其值。顺便说一句,处理wit和翻译的方式会更好。我做了,请阅读我文章的最后部分。1-1测试。它将其更改为零。具有键“1、2、3、4、5、6、7”的数组的键“0”不存在。似乎它将其视为空,即使将其打印在函数代码行的正上方将给出日数值。
{% if form.vars.value.day > 0 %}
    {{attribute(dayindex, form.vars.value.day | number_format) }}
{% endif %}