我在坚持多对多自引用关系时遇到了问题。我收到错误:
在链配置的命名空间中找不到类“Doctrine\ORM\Persisters\ManyToManyPersister”
当我删除与他们一起保存的所有子表单项时,就会发生这种情况。至少留下一个不会导致错误发生。此外,如果我最初保存没有孩子的实体,一切正常。
/**
* West\AlbumBundle\Entity\Album
*
* @ORM\Table(name="albums")
* @ORM\Entity(repositoryClass="West\AlbumBundle\Entity\AlbumRepository")
* @ORM\HasLifecycleCallbacks
*/
class Album extends Entity implements CrudEntity
{
/**
* @ORM\ManyToMany(targetEntity="Album")
* @ORM\JoinTable(name="albums_relations",
* joinColumns={@ORM\JoinColumn(name="album_id", referencedColumnName="id")},
* inverseJoinColumns={@ORM\JoinColumn(name="related_album_id", referencedColumnName="id")}
* )
* @var ArrayCollection
*/
protected $related_albums;
}
如果您使用 Symfony2 表单进行测试,请记住设置
“by_reference” => 假