Symfony2 Doctrine2,是否有'REPLACE INTO'功能?

时间:2014-08-15 21:16:01

标签: php symfony doctrine-orm

我做了一些研究,显然Doctrine不支持REPLACE INTO,所以我想知道是否有相应的?如果主键不存在,Doctrine是否可以只执行INSERT INTO

类似的东西:

$em = $this->getDoctrine()->getManager();
$em->replace($entity);
$em->flush();

或者我必须把它作为条件写吗?如果实体存在,则更新,否则插入?

1 个答案:

答案 0 :(得分:0)

如果主键不存在,则可以执行FindOneBy

$entity = $entity->getRepository('Entiy\YOurEntiry')
->findOneBy(array('field1'=>$value,...));

而不是

$entity->setField($field);
$entity->flush($entity);