Mam jednostkę użytkownika. I ci użytkownicy mogą być przyjaciółmi. Tak więc zdefiniowałem samo odniesienie do wielu wielu jednokierunkowych skojarzeń (ponieważ zawsze jest wzajemność przyjaźń, prawda?).manyToany powoduje zduplikowany błąd wpisu
kawałek mojego jednostki użytkownika w yml
manyToMany:
friendList:
targetEntity: User
joinTable:
name: user_friend
joinColumns:
user_id:
referencedColumnName: id
inverseJoinColumns:
friend_id:
referencedColumnName: id
cascade: [persist]
Kiedy zadzwonić $user->addFriendList($friend)
i po przetrwania i rumieniec, mam PDOException
:
SQLSTATE [23000]: naruszenia ograniczenia integralności : 1062 Zduplikowany wpis "1-2" dla osoby "PRIMARY"
Kiedy sprawdzam dzienniki, widzę, że doktryna próbuje Wykonaj tę samą kwerendę wstawiania dwa razy.
Dla twojej informacji, mój addFriendList
funkcja
public function addFriendList(User $friend)
{
if (!$this->friendList->contains($friend)) {
$this->friendList[] = $friend;
$friend->addFriendList($this);
}
}
Gdzie jestem źle tutaj?