【问题标题】:Symfony twig get data value from collection objectSymfony twig 从集合对象中获取数据值
【发布时间】:2019-08-06 19:11:50
【问题描述】:

您好,

在 Symfony 4.2 中使用集合中的 obj 值编辑表单时,我需要前端内容的每个集合对象 ID。

如果我转储一个集合对象,

{{ dump(form.vars.data) }}

我可以看到这样的东西:

CollectionObj1 {#3341 ▼
  -id: 21167
  -value1: null
  -value2: 74

如果我现在想用

访问 id
{{ dump(form.vars.data.id) }}

我收到以下错误:

无法访问空变量的属性(“id”)。

谁能告诉我,我怎样才能访问集合中对象的 id?

提前非常感谢

【问题讨论】:

  • 与描述的行为相同:Impossible to access a key ("0") on a null variable 。如果没有 [0] ({{ dump(form.vars.data) }}),我可以看到对象所有属性的精彩输出。

标签: forms collections twig symfony4


【解决方案1】:

好的,有两件事我没有提到导致错误:

  1. 我的 id 不叫 id。由于旧数据库,它被称为这样的东西:K_RESULTS_ID
  2. 我正在使用 symfony 的集合原型:https://symfony.com/doc/current/form/form_collections.html#allowing-new-tags-with-the-prototype 并在相应的表单块中调用了转储

第一个错误是你必须调用这样一个不带下划线的 id-name,它应该这样调用:

{{ dump(form.vars.data.KRESULTSID) }}

第二个是,我必须在获取它之前检查对象是否不为空。所以我需要添加类似的东西:

{% if form.vars.data is not null %}
    {% set resultId = form.vars.data.KRESULTSID%}
{% else %}

现在它可以正常工作了。

无论如何,谢谢@wp78de,很抱歉没有发布完整的真相;)

【讨论】:

    猜你喜欢
    • 2014-07-20
    • 2014-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-29
    • 2011-09-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多