연관 삭제와 관련하여 도움을 요청하고 싶습니다. Doctrine : 자체 참조에서 엔티티 제거 (다 대다)
내User
기업 :
class User
{
...
/**
* @ORM\ManyToMany(targetEntity="User", mappedBy="following")
**/
private $followers;
/**
* @ORM\ManyToMany(targetEntity="User", inversedBy="followers")
* @ORM\JoinTable(name="friends",
* joinColumns={@ORM\JoinColumn(name="user_id", referencedColumnName="id")},
* inverseJoinColumns={@ORM\JoinColumn(name="friend_user_id", referencedColumnName="id")}
*)
**/
private $following;
내가 두 가지 작업이는 :
는프로필 :
// followAction
$entityManager = $this->getDoctrine()->getEntityManager();
$me->addFollowing($targetUser);
$targetUser->addFollower($me);
$entityManager->persist($me);
$entityManager->persist($targetUser);
$entityManager->flush();
프로필을 따르 팔로우를 취소
$entityManager = $this->getDoctrine()->getEntityManager();
$me->removeFollowing($targetUser);
$targetUser->removeFollower($me);
$entityManager->persist($me);
$entityManager->persist($targetUser);
$entityManager->flush();
다음 프로세스가 적절한 방법으로 작동하고 있으며 해당 레코드 friends
이 표시됩니다.
하지만 사용자를 팔로우를 해제하려고 할 때, 내가받을 예외 : PARAMS { "1"로 '(?) 친구 (USER_ID, friend_user_id) 값으로 INSERT'실행하는 동안
는 예외가 발생했습니다 : 2, "2": 10} :
SQLSTATE [23000] : 무결성 제약 조건 위반 : 키 'PRIMARY'
내가 잘못 뭐하는 거지에 대한 1062 중복 항목 '2-10'? 나는 persist
으로 시도했는데 그걸 제외하고는 같은 것입니다. 어쩌면 연관 구성에서 뭔가?