Doctrine 2是否具有内置的upsert功能?它似乎没有,但我无法找到明确的是或否答案。
如果确实如此,我当然有兴趣看一个例子和/或一些文档。
答案 0 :(得分:3)
我相信我找到了答案。截至今天(10/15/2012),对于Doctrine来说,有一个开放的“add upsert support”问题。我认为如果Doctrine 2确实有upsert支持,这张票仍然不会打开,所以我想这是我的最终答案。
答案 1 :(得分:3)
Doctrine中已存在Upsert。
如果要返回文档,则必须设置 findAndUpdate()和 returnNew()。设置 upsert(),您就可以开始了。
例如:
$documentMannager->createQueryBuilder('App\Domain')
->findAndUpdate()
->returnNew()
->field('_id')->equals($id)
->field('page')->equals($page)
->field('count')->inc(1)
->upsert()
->getQuery()
->execute();
这是我实现桶模式的方式。