原则 2 是否内置了更新插入功能?似乎没有,但我无法找到明确的是或否答案。
如果是这样,我当然有兴趣看到一个示例和/或一些文档。
我相信
我找到了答案。截至今天(2012 年 10 月 15 日),Doctrine 有一个开放的"添加插入支持"问题。我假设如果原则 2 确实有更新插入支持,这张票就不会仍然开放,所以我想这是我的最终答案。
Upsert已经出现在Doctrine中。
使用查询构建器,如果要返回文档,则必须设置 findAndUpdate() 和 returnNew()。设置 upsert(),您就可以开始了。
例如:
$documentMannager->createQueryBuilder('AppDomain')
->findAndUpdate()
->returnNew()
->field('_id')->equals($id)
->field('page')->equals($page)
->field('count')->inc(1)
->upsert()
->getQuery()
->execute();
这是我实现存储桶模式的方式。