Symfony树枝从集合对象获取数据值

时间:2019-03-15 16:40:25

标签: forms collections twig symfony4

你好

在Symfony 4.2中使用来自集合的obj-values编辑表单时,我需要每个集合对象ID作为前端的东西。

如果我转储了收集对象,

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

我可以看到以下内容:

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

如果我现在想使用

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

我收到以下错误:

  

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

有人可以告诉我如何访问集合中对象的ID吗?

非常感谢

1 个答案:

答案 0 :(得分:0)

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

  1. 我的ID不称为ID。由于数据库较旧,因此称为Someting:K_RESULTS_ID
  2. 我正在使用symfony的集合原型:https://symfony.com/doc/current/form/form_collections.html#allowing-new-tags-with-the-prototype,并在相应的表单块中调用转储

第一个错误是您必须调用一个没有下划线的id名称,应该这样称呼它:

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

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

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

现在它像预期的那样工作。

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