Symfony2(doctrine2):如何创建通用方法updateOrCreate?

Symfony2(doctrine2):如何创建通用方法updateOrCreate?,symfony,doctrine-orm,Symfony,Doctrine Orm,我正在尝试这样做(如果可能的话) 有什么想法吗 upd:若找到实体,那个么我需要更新他,否则我需要创建新的实体 if(null==$obj->getId()) { $em->persist($obj); } $em->flush(); 我想这就是你所需要的 然而,当您此时还不知道您的实体是否已经持久化时,您肯定违反了代码中的单一责任原则。您不需要逻辑,请注意更新/插入逻辑。 您尝试从数据库获取实体。如果找到,可以修改;任何持久化操作都将导致更新操作。如果找不到实体,您

我正在尝试这样做(如果可能的话)

有什么想法吗

upd:若找到实体,那个么我需要更新他,否则我需要创建新的实体

if(null==$obj->getId()) {
    $em->persist($obj);
}
$em->flush();
我想这就是你所需要的


然而,当您此时还不知道您的实体是否已经持久化时,您肯定违反了代码中的单一责任原则。

您不需要逻辑,请注意更新/插入逻辑。 您尝试从数据库获取实体。如果找到,可以修改;任何持久化操作都将导致更新操作。如果找不到实体,您必须创建一个全新的实体,然后将其持久化;这将导致创建操作


就像这个广告一样简单

这个问题至少对我来说不清楚。你想得到什么?请用更多细节更新你的问题(不是代码问题,而是概念问题)@DonCallisto,updated这就是我想听到的。多谢!
if(null==$obj->getId()) {
    $em->persist($obj);
}
$em->flush();