我有一個架構,如下所示映射實體「用戶」和「角色」之間的多對多關係。刪除EntityManager多對多關係的對象部分返回錯誤
角色實體
/**
* @ORM\ManyToMany(targetEntity="User", mappedBy="roles", cascade={"persist", "remove"})
*/
protected $users;
和用戶實體
/**
* @ORM\ManyToMany(targetEntity="Role", inversedBy="users", cascade={"persist", "remove"})
* @ORM\JoinTable(name="users_roles")
*
* @var ArrayCollection $userRoles
*/
protected $userRoles;
當我嘗試刪除與下面的代碼的作用對象,
$role = $em->getRepository('ACMEDefaultBundle:Role')->find($id);
$em->remove($role);
$em->flush();
我得到一個學說異常
ErrorException:注意:未定義的索引:/media/sf_sandbox/aalcodev/vendor/doctrine/orm/lib/Doctrine/ORM/Persisters/BasicEntityPersister.php中的角色第964行(未捕獲的異常)在/ media/sf_sandbox/aalcodev/vendor/doctrine/orm/lib/Doctrine/ORM/Persisters/BasicEntityPersister.php line 964
請幫忙。謝謝。
請不要在標題中使用這些詞語:'問題'。請參閱[編寫優秀標題](http://meta.stackexchange.com/questions/10647/writing-good-titles/10648#10648) – hakre
哪部分錯誤信息很難理解?索引在哪裏被稱爲角色? – hakre
@hakre對不起。第一次發佈在這裏,謝謝你的鏈接。我沒有索引「角色」。當我運行'schema:update'時,我得到了三個表 - 用戶,角色和users_roles。我可以使用EntityManager添加和更新'角色',我嘗試刪除時收到錯誤。我錯過了什麼嗎? –