我正在研究symfony并希望在我的树枝模板中显示变量。 这是我的PHP代码:
{% for row in issue.data %}
{{ dump(row) }}
以及我在网站上得到的内容:
array(size=5)
'positionId' =>int5
'position' =>int5
'cost' =>float3000
'detailIndex' =>int1
'hours' =>int3
所以我正在使用:
{{ row.detailIndex }}
访问我的数组变量,但收到错误:
Item "detailIndex" for "Array" does not exist in
这很奇怪,因为我可以轻松访问这些变量:
{{ row.hours }}
{{ row.position }}
{{ row.cost }}
我会向你的朋友们提供任何帮助!
答案 0 :(得分:6)
我认为你应该在访问之前检查你的detailIndex密钥是否存在。
解决方案1 创建detailIndex
密钥(如果它不存在以避免使用者)
{% for row in issue.data %}
{% if row.detailIndex is not defined %}
{% set row.detailIndex = '' %}
{% endif %}
... your business here
{% endfor %}
解决方案2 使用terner获取detailIndex
值。这有效,但不好看:)
{{ row.detailIndex is defined ? row.detailIndex : '' }}
解决方案3 使用default
过滤器来避免未定义的属性异常
{{ row.detailIndex | default('') }}
答案 1 :(得分:3)
由于您的数据在数组中,因此一个成员可能有一个键detailIndex
,而另一个成员没有。
尝试
{{ row.detailIndex is defined ? row.detailIndex : '' }}
更新1
另一次尝试
{{ if 'detailIndex' in row|keys ? row['detailIndex'] : '' }}