5

Doctrine 2 是否内置了 upsert 功能?似乎没有,但我无法找到明确的是或否答案。

如果是这样,我当然有兴趣查看示例和/或一些文档。

4

2 回答 2

3

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

于 2012-10-15T15:19:09.363 回答
2

Upsert 已经出现在 Doctrine 中。

使用查询生成器,如果要返回文档,则必须设置findAndUpdate()returnNew() 。设置upsert()你就可以开始了。

例如:

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

这是我实现桶模式的方式。

于 2014-04-30T15:31:22.567 回答