Doktryna wstawiająca w zdarzenie postPersist

Chcę, aby dodawano nowy element kanału na obiekcie i aktualizowano. Piszę ten detektor zdarzeń (postUpdate jest taki sam):

<code>public function postPersist(LifecycleEventArgs $args)
{
    $entity = $args->getEntity();
    $em = $args->getEntityManager();

    if ($entity instanceof FeedItemInterface) {
        $feed = new FeedEntity();
        $feed->setTitle($entity->getFeedTitle());
        $feed->setEntity($entity->getFeedEntityId());
        $feed->setType($entity->getFeedType());
        if($entity->isFeedTranslatable()) {
            $feed->getEnTranslation()->setTitle($entity->getFeedTitle('en'));
        }
        $em->persist($feed);
        $em->flush();
    }
}
</code>

Ale mam

Naruszenie ograniczenia integralności: 1062 Zduplikowany wpis „30 -2” dla klucza „PODSTAWOWY”

aw logu mają dwie wstawki:

INSERT INTO interview_scientificdirection (interview_id, scientificdirection_id) WARTOŚCI (?,?) ([30,2]) INSERT INTO interview_scientificdirection (interview_id, scientificdirection_id) WARTOŚCI (?,?) ([30,2])

Scientificdirection ma wiele do wielu tabel relacji dla bytu, co chcemy utrzymać. W aplikacji frontendowej wszystko działa dobrze, ale w Sonacie Admin mam ten problem :(

questionAnswers(5)

yourAnswerToTheQuestion