5

Doctrine 2 には upsert 機能が組み込まれていますか? そうではないようですが、決定的なイエスまたはノーの答えを見つけることができませんでした.

もしそうなら、私はもちろん、例やドキュメントを見たいと思っています。

4

2 に答える 2

3

私は答えを見つけたと思います。本日(2012年10月15日)現在、Doctrineの「アップサートサポートの追加」に関する未解決の問題があります。Doctrine 2がアップサートをサポートしていれば、このチケットはまだ開いていないと思いますので、私の決定的な答えがあると思います。

于 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 に答える