Doctrine 2にupsert機能が組み込まれていますか?それはそうではありませんが、私は決定的なイエスかノーの答えを見つけることができませんでした。Doctrine 2で(upsert)機能を検索または作成する
もしそうなら、私はもちろん、例やドキュメントを見ることに興味があります。
Doctrine 2にupsert機能が組み込まれていますか?それはそうではありませんが、私は決定的なイエスかノーの答えを見つけることができませんでした。Doctrine 2で(upsert)機能を検索または作成する
もしそうなら、私はもちろん、例やドキュメントを見ることに興味があります。
私は答えを見つけたと信じています。今日(2012年10月15日)現在、Doctrineには「add upsert support」の問題が公開されています。私はDoctrine 2にupsertがサポートされていればこのチケットはまだ開いていないだろうと私は確信しています。
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();
これは私がバケットパターンを実装する方法です。
ありがとう@ Guilherme私はこのアプローチをテストし、あなたの結果に戻ってくる! –
ORMにのみ適用され、ORMには適用されません。 – Im0rtality
@ ImOrtalityによれば、SQLデータベースではなく、Mongoのコンテキストでのみ使用できます。 – fjcero
チケットがありますが、ドキュメントは見つかりませんでしたか?あなたは? –
@DimitryKは私の答えを見ます、それはすでに実装されています:) –