У меня есть объект "Пользователь". И эти пользователи могут дружить вместе.Итак, я определил однонаправленную ассоциацию со ссылкой на manyToMany (потому что всегда есть взаимность - это дружба, верно?).
часть моей пользовательской сущности в YML
manyToMany:
friendList:
targetEntity: User
joinTable:
name: user_friend
joinColumns:
user_id:
referencedColumnName: id
inverseJoinColumns:
friend_id:
referencedColumnName: id
cascade: [persist]
Когда я вызываю $ user-> addFriendList ($ friend)
, и после сохранения и сброса я получаю PDOException
:
SQLSTATE [23000]: Нарушение ограничения целостности: 1062 Повторяющаяся запись «1-2» для фейри «PRIMARY»
Когда я проверяю журналы, я вижу, что доктрина пытается выполнить один и тот же запрос вставки дважды .
К вашему сведению, моя addFriendList
функция
public function addFriendList(User $friend)
{
if (!$this->friendList->contains($friend)) {
$this->friendList[] = $friend;
$friend->addFriendList($this);
}
}
Где я ошибаюсь?