在教义2查找或创建(UPSERT)功能(Find or create (upsert) functi

2019-09-24 03:27发布

难道学说2已经UPSERT功能内置的? 它似乎没有,但我无法找到一个明确的肯定或否定的回答。

如果是的话,我当然会很有兴趣看到一个例子和/或一些文档。

Answer 1:

我相信我找到了答案。 截至今天(2012年10月15日)的,有一个打开的“ 添加UPSERT支持 ”问题的学说。 我认为这张票将不会仍然是开放的,如果教条2确实有UPSERT支持,所以我想有我明确的答案。



Answer 2:

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();

这是我实现一个水桶模式的方式。



文章来源: Find or create (upsert) functionality in Doctrine 2