Doctrine 在原则2中查找或创建(升级)功能

Doctrine 在原则2中查找或创建(升级)功能,doctrine,doctrine-orm,Doctrine,Doctrine Orm,条令2是否内置了upsert功能?似乎没有,但我无法找到一个确定的是或否的答案 如果有,我当然有兴趣看一个例子和/或一些文档。我相信我找到了答案。截至今天(2012年10月15日),有一个公开的“学说”问题。我假设,如果条令2确实有upsert支持,那么这张票就不会被打开,所以我想这是我的最终答案。upsert已经存在于条令中 如果要返回文档,必须使用查询生成器设置findAndUpdate()和returnNew()。设置向上插入() 例如: $documentMannager->cre

条令2是否内置了upsert功能?似乎没有,但我无法找到一个确定的是或否的答案


如果有,我当然有兴趣看一个例子和/或一些文档。

我相信我找到了答案。截至今天(2012年10月15日),有一个公开的“学说”问题。我假设,如果条令2确实有upsert支持,那么这张票就不会被打开,所以我想这是我的最终答案。

upsert已经存在于条令中

如果要返回文档,必须使用查询生成器设置findAndUpdate()returnNew()。设置向上插入()

例如:

$documentMannager->createQueryBuilder('App\Domain')
->findAndUpdate()
->returnNew()
->field('_id')->equals($id)
->field('page')->equals($page)
->field('count')->inc(1)
->upsert()
->getQuery()
->execute();

这就是我实现bucket模式的方式。

我可以看到有一张罚单,但找不到任何文档?是吗?谢谢@Guilherme我将测试此方法,并将返回给您我的结果!仅适用于ODM,不适用于ORM。正如@Im0rtality所说,它只能用于Mongo的上下文,而不能用于SQL数据库。这似乎是一个重复的问题。