Я несколько раз сталкивался с этим сценарием, работая над текущим проектом.Я должен увидеть, существует ли запись, тогда, если это не так, мне нужно добавить ее, если она есть, то мне нужно обновить.Каков стандартный способ сделать это с Doctrine?
Мне кажется, что я пытаюсь выяснить, существует ли запись, используя метод find *.Затем, если это возвращает положительный результат (объект), я использую этот объект для обновления.В противном случае (запись не найдена) я должен создать еще один объект и сохранить ().
По какой-то причине это просто кажется неэффективным.Есть ли лучший способ или я просто странный?:)
$user = Doctrine_Core::getTable('Model_User')->findOneByEmail('myemail@email.com');
if (!$user) {
$user = new Model_User();
$user->fromArray($values); // $values comes from form or wherever
$user->save();
} else {
$user->fromArray($values);
$user->save();
}