Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Symfony Doctrine2:在多个关联上分离/合并_Symfony_Doctrine Orm - Fatal编程技术网

Symfony Doctrine2:在多个关联上分离/合并

Symfony Doctrine2:在多个关联上分离/合并,symfony,doctrine-orm,Symfony,Doctrine Orm,我一直在努力使用这些功能() 我的需求很简单,我有一个BookFilterType,它过滤Book对象的集合 直到现在,当你 public function indexAction() { $book = new Book($this->getUser()); $filters = $this->getFilters(); $form = $this->createForm(new BookFilterType(), $filters); ..

我一直在努力使用这些功能()

我的需求很简单,我有一个
BookFilterType
,它过滤
Book
对象的集合

直到现在,当你

public function indexAction()
{
    $book = new Book($this->getUser());
    $filters = $this->getFilters();
    $form = $this->createForm(new BookFilterType(), $filters);

    ...
    return array(...);
}
我收到一个错误
传递到选择字段的实体必须进行管理
,因为在筛选器中它们是其他实体

因此,基本上,在会话中保存过滤器标准时,我只需要存储ID,然后使用
find($ID)
重新添加它们

但这太难看了,我的代码变得不可读

所以我决定使用
detach/merge
功能

存储分离的实体后,我想再次合并它们以在表单中重新注入值,似乎需要在对象上使用
cascade={“merge”}
,因为我得到:

类原则\Common\Collections\ArrayCollection不是有效的实体或映射的超类。

问题(最后)

joinColumns
inverseJoinColumns
上,我应该将
cascade={“merge”}
放在哪里?或者两者都有?因为我在那些过滤器中只有
manytomy
关联

/**
 * @ORM\ManyToMany(targetEntity="MyTargetedEntity")
 * @ORM\JoinTable(name="target_entity_nn",
 *      joinColumns={@ORM\JoinColumn(name="some_id", referencedColumnName="id")},
 *      inverseJoinColumns={@ORM\JoinColumn(name="other_id", referencedColumnName="id")}
 *      )
 *
 **/
private $contributors;
附言:我正在使用
Symfony2.1
/
条令大师


谢谢

你可以把它放在@ORM\manytomy上