問題タブ [doctrine-odm]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
4350 参照

php - DoctrineODM-演算子構文のような

Doctrine odmでSQLからlike演算子をシミュレートするにはどうすればよいですか?

ユースケース:変数$searchのフィールドキャプション文字列のどこかにあるテーマを見つけたい。

クエリはどのようになりますか?

すべての回答に感謝します

0 投票する
2 に答える
11318 参照

php - DoctrineMongodbODMとDateTimeクエリ

私はこの問題についていくらかの助けを使うことができました。Symfony2 + mongodb+doctrineを使用してアプリケーションを作成しています。Doctrine ODMを使用して、過去5分間にログインしたすべてのユーザーにクエリを実行したいだけです。date_last_loginという日付フィールドを持つUserコレクションがあります。

だから私はそのようなクエリビルダーを使おうとします:

symfony2プロファイラーを使用してアセンブルされたクエリを調べたところ、次のようになりました。

日付が5分ではなく10分早いことを除けば問題ないようです。わからない。php DateTimeオブジェクトをダンプした場合、日付は正しいです:2011-12-23 15:35:05(15:40の5分前)。

そこで、分を差し引くことなく同じクエリを組み立てようとしましたが、今回はすべて問題ありません。

私は何を間違っているのですか?ご協力ありがとうございました!

0 投票する
2 に答える
3656 参照

php - 2 つ以上のフィールドでの Doctrine MongoDB ODM 検索

Doctrine Mongo ODM で 2 つ以上のフィールドを正規表現で検索するクエリを書きたいと思います。SQL では次のようになります。

次のように、1 つのフィールドに対するクエリを記述できます。

しかし、より多くのフィールドを検索しようとすると途方に暮れます。

助けてくれてありがとう

0 投票する
1 に答える
1477 参照

php - Doctrine 2 MongoDb ODM リファレンス

PHP での Doctrine 2 MongoDB ODM に関する質問があります。

だから私は EntityA を持っていて、EntityA内でEntityBObjectIdを介してEntityBを参照したいと思います。したがって、EntityAには、 @ODM\ReferenceOne(targetDocument="EntityB", simple="true") というDocblockを持つvariableAがあります。

問題は、setMethodを呼び出すと、私がやりたいことであるobjectIdだけでなく、EntityB全体がEntityAに設定されることです。

基本的に EntityA は次のようになります。

私が試した方法のように、私が望むことが可能かどうか誰かが知っていますか? または誰かがより良い方法を知っていますか?

基本的にこの例のように:

製品全体ではなく、製品のIDのみを保存するにはどうすればよいsubCategory->productですか?

0 投票する
1 に答える
399 参照

mongodb - doctrine odmは、永続化前にjs Math.random()によって生成されたランダム値を設定します

このパターンhttp://cookbook.mongodb.org/patterns/random-attribute/を doctrine odm で実装しようとしています。

pre-persist ライフサイクル イベントでこの属性を設定したいと思います。最良の結果を得るには、ネイティブの JavaScript 関数 Math.random() を使用したいと考えています。これは、php がランダムなフロートを生成できず、そのためのカスタム関数を作成することを避けたいためです。

これを達成する方法はありますか?

私は試した:

ただし、関数のコードに関係なく、常に属性を1に設定します

0 投票する
1 に答える
1378 参照

zend-framework - ZendFramework、Doctrine 2 ODM with mongoDB - Hydrator エラー

Zend Framework を Doctrine 2 および mongoDB と組み合わせて使用​​しています。ここまでは順調ですね。

現在、ユーザー名がデータベースに既に存在するかどうかを確認するために、カスタム検証クラスを書き直しています。(このコードは ORM と MySQL では問題なく動作しましたが、ODM と mongoDB では動作しません)。

したがって、私のカスタム検証クラスは次のようになります。

しかし、ここでこのエラーが発生します:

また、配列注釈(findByUsernameまたはfindOneByUsername)なしでfindByを試しましたが、それでも、このエラーが発生するか、何らかの形で「何も」発生しません。ORM と MySQL では完璧に機能しましたが、どこに問題があるのでしょうか?

前もって感謝します!

0 投票する
1 に答える
2404 参照

php - Doctrine2 ODM - [意味的エラー]

このエラーが発生し続けます:

PHP 致命的なエラー: キャッチされない例外 'Doctrine\Common\Annotations\AnnotationException' とメッセージ '[セマンティカル エラー] クラス Documents\Translation の注釈 "@Doc​​ument" はインポートされませんでした。/home/bmay/devel/svn/wwv/trunk/test_mongo_record/doctrine-mongodb-odm/lib/vendor/doctrine-mongodb-odm/lib/vendor/doctrine-common/lib/Doctrine/Common/Annotations/AnnotationException にあります。 php:52

コードはここで簡単です:

0 投票する
1 に答える
1460 参照

mongodb - doctrine odm バッチ挿入 - すべてのドキュメントが保存されるわけではありません

私は67352行のファイルを持っています。1 行は 1 つの名前です。foreachを使用して、これらの名前をバッチに挿入しています。バッチ サイズ 100 を使用すると、これらの 67352 レコードのうち 52262 レコードのみがデータベースに永続化されます。バッチ サイズが大きい場合は永続化されるドキュメントが少なくなり、小さい場合は永続化されるドキュメントが多くなりますが、すべてのドキュメントを取得することはできません。持続しました。

odm のバージョンは 1.0.0beta3 です。これも 1.0.0rc1 で試しましたが、結果は同じでした。

コードは次のようになります。

誰が何が悪いのか教えてもらえますか? ありがとう

0 投票する
1 に答える
427 参照

mongodb - ReferenceMany は、MongoGridFs ファイルを保存しようとするとエラーをスローする $pushAll フィールドを生成します。

わかりました、何か大きなものを見逃しているか、バグを踏んでいます。

これは Sf2 (v2.0.9) / Doctrine ODM (1.0.0BETA) プロジェクトです。

基本的に、私は 2 つのドキュメントを持っています。それらを E と P と呼びましょう:

  • E は多くの P を参照します。

    /li>
  • P から対応する E を取得できるかどうかは気にしません。

で E のゲッター/セッターを生成しましたdoctrine:mongodb:generate:documents

新しい E() を宣言したら、次のように既存の P をいくつか追加します ($e->addP($p))。

(そのコードをあまり深く見ないでください。私のコントローラーではそれほどお粗末ではありませんが、基本的にはまだforeach($pArr as $p)onを実行しています$e->addP($p))。

最終的に、コレクション E にはそのようなオブジェクトが含まれます。

$pushAll フィールドがあるのは奇妙だと思いましたが、$e->getP(); で読み取ることができます。

ただし、ファイルを E に添付しようとすると停止します。

$e->setFile($filename)永続化/フラッシュしようとすると、そのエラーが発生するためです。

明らかにその奇妙な$pushAllフィールドを参照するエラー。

その種のエントリを使用して MongoDB のドキュメントを手動で変更すると、次のようになります。

...その後、すべて問題なく、エラーなしでファイルを保存できます。

わかりました、それは私が何かを見逃しているか、その部分で十分なRTFMがなかったように聞こえますがReferenceMany、誰かがすでにそれに取り組んでいるかどうかを確認するためにここに来ました.

乾杯。

0 投票する
3 に答える
2273 参照

mongodb - Doctrine2MongoDBはオブジェクトの子レコードを取得します

doctrine / mongodb-odm-bundleを使用していますが、問題があります。ドキュメントから参照行を取得できません(または、これを行う方法がわかりません)。1対1のドキュメントが2つあります。このような多くの参照:最初に

.................

これがコントローラーからのコードです:

$wallpapersと$document->filesはNULLです。カテゴリに関連するレコードを取得するにはどうすればよいですか?コンクリートの壁紙オブジェクトからカテゴリを取得するにはどうすればよいですか?標準のORMのような「JOIN」アナログはありますか?