У меня есть сущность, которую мне нужно сохранить, если она не существует, и обновить/заменить, если она существует.
Я не хочу искать с помощью ->findBy()
и выполнять обновление или новые операции.
С Doctrine1 вы можете просто создать новую сущность и использовать метод ->replace();
вместо ->save();
. Мне нужно такое поведение для Doctrine2 с использованием EntityManager.
<?php
$user = new User;
$user->setName('Mr.Right');
$em->persist($user);
$em->flush();
Из http://docs.doctrine-project.org/en/latest/reference/working-with-objects.html#persisting-entities :
Если X является ранее существовавшим управляемым объектом, операция сохранения игнорирует его.
Мне нужно, чтобы существующие управляемые объекты были заменены/обновлены, а не проигнорированы, кто-нибудь знает?