我的表单具有标签字段。标签是绑定实体上的学说阵列汇编。该字段是by_reference = false,如文档所建议的,但在添加新元素时将表单绑定到实体的行为,例如:
:$data=$entity->getTags(); //gets the ArrayCollection but does not care that it is not an array, and shoulrd be converted first
//do the value modifications like:
$data[]=new Tag(...);
$entity->setTags($data); //poor setter gets called with the already-updated collection, this operation is pointless
我认为在那里by_reference false是为了避免此问题。如果是,那是故障。如果不是,那么DOC非常糟糕,有一个数字汇编的示例,但不关心这种非常残酷的Setters ...
我应该使用什么?在getter中返回toarray()是不做的(显而易见的是设计模型与差的形式实现。是否有类似于"收集"的类型,迫使"集合"转换为数组?
将标签添加到该实体时应发生的情况:
$new_tag = new Tag(...);
$entity->addTag($new_tag);
基本学说生成的实体中没有集合功能。