Symfony报错:数组不存在dateFinValidite键,求解决方案
解决Symfony Twig "dateFinValidite" 键不存在的报错
问题根源
你错误地在数组/集合unites上直接访问dateFinValidite属性,但unites本身是包含多个单元对象的数组(键为0-22的数字),只有数组里的每个单元对象才拥有dateFinValidite字段,因此直接调用unites.dateFinValidite会触发键不存在的报错。
正确写法
调整过滤逻辑,直接对unites数组里的每个元素进行筛选,保留dateFinValidite大于当前时间的项:
{{ include('/Unite/inc.listUnites.html.twig', {'unites': unites|filter(u => u.dateFinValidite > "now"|date('U'))}) }}
补充说明
filter过滤器直接作用在unites数组上,遍历每个单元对象u,判断其dateFinValidite是否大于当前时间的时间戳("now"|date('U'))- 确保
inc.listUnites.html.twig模板内是循环渲染unites数组的内容,示例:
{% for unite in unites %} {# 渲染单元信息,比如:{{ unite.dateFinValidite|date('Y-m-d H:i') }} #} {% endfor %}
内容的提问来源于stack exchange,提问作者Seliatrop
相关产品推荐
相关产品推荐

