多対多の自己参照関係を永続化する際に問題が発生しました。エラーが表示されます:
クラス 'Doctrine\ORM\Persisters\ManyToManyPersister' はチェーン構成された名前空間で見つかりませんでした
これは、保存されているすべての子フォーム項目を削除すると発生します。少なくとも 1 つ残しておいても、エラーは発生しません。また、最初にエンティティを子なしで保存すると、すべて正常に動作します。
/**
* 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" => false