問題タブ [doctrine-query]
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.
php - Doctrine2の3つのテーブルを結合して、他の2つのエンティティに関連付けられているエンティティを選択する
私には3つのタイプのエンティティがあります。
- ユーザー
- グループ
- ウェブサイト
ユーザーはWebサイトを持つことができ、グループに属することもできます。これらの各エンティティにも名前があります。
これが私のDoctrine2の定義です:
したがって、「Admins」というグループ内のすべてのユーザーを検索する場合は、次のように実行できます。
また、次の方法で、ウェブサイト「Google.com」に関連付けられているすべてのユーザーを取得できます。
「管理者」に所属し、ウェブサイト「Google」にも関連付けられているすべてのユーザーを取得したい場合、どうすればよいですか?
TSQLを使用している場合、3つのテーブルを結合しますが、Doctrineでそれを行うにはどうすればよいですか?
DQLを使用する必要がありますか?DQLはどのように見えますか?
mysql - orderBy & groupBy クエリ
私のデータベースエントリ
私のクエリは、IDを持つエントリのみを取得することです:
私がこれを行うとき:
私は得る: 1, 4, 5
. しても、うまくいきe.last_changed ASC
ません。
last_changed
と違うのを持っている方のみのエントリーが欲しいですshop_id
。どうすればいいですか?
ありがとう!
php - Doctrine_Query、オブジェクトとしての基準、および訪問者パターン。可能?
最近、Doctrine 1.2 を Zend Framework 1.11 に統合するプロジェクトに取り組んでいますが、とても楽しかったです。
サービス層に実装した最も一般的なメソッドの 1 つは、引数として渡される一連の基準に従ってドメイン モデルのコレクションを返すメソッドです。
私は次のようなインターフェースでそれらを作成してきました:
そして、実装は次のようになります。
そして、より多くの基準の必要性が高まるにつれて、実装はより厄介になります。言うまでもなく、あらゆる場所で多くのコードが再利用されており、コードの更新は非常に退屈な作業です。
配列セグメントの代わりにオブジェクトとして条件を渡すことができれば、次のようなビジター パターンを利用できれば、はるかに優れていると考えていました。
次のような一般的なインターフェイスLibSys_Criteria_Category
をLibSys_Criteria_Author
実装します。
したがって、提供された一連の基準オブジェクトをループDoctrine_Query
処理し、必要に応じて順番に操作しながらオブジェクトを渡すだけです。
このようにすると、サービスが使いやすくなるだけでなく、サービスが拡張可能になり、基準オブジェクトが再利用可能になり、すべてが維持しやすくなります。
ただし、これを確実に機能させるには、Doctrine_Query
オブジェクトを検査し、既存の結合、条件などを確認できる必要があります。これは、2 つのまったく異なる基準が同じ条件セットまたは同じセットを必要とする可能性があるためです。結合のセット。その場合、2 番目の基準は、既存の結合を単純に再利用したり、それに応じて調整したりできます。また、基準の一連の条件が相互に互換性がない場合を想像するのは難しくありません。その場合、例外をスローする必要があります。
だから私の質問は:
を調べて、Doctrine_Query
どのコンポーネントが結合されているか、または既に適用されている条件のセットに関する情報を取得する方法はありますか?
symfony1 - リレーションが指定されていないテーブルで Doctrine の結合クエリ
schema.yml で互いに関係が定義されていない 2 つのテーブルがあります。ただし、テーブル 1 には、テーブル 2 の主キーへの外部キー参照があります。明らかに、データベースを適切に設計していないために失敗しましたが、今度は緩和の時期です。
必要な選択行を取得する where 句と組み合わせて、2 つのテーブル間で左結合を行う必要があります。これを行うには、次のようにします。
通常はこれで問題ありませんが、返されるのは where 条件に関係なく分類表のすべての行であるため、そうではありません。私は考えています、これは関係が列に指定されていないためですか?クエリが機能するのはばかげているでしょうが、教義のコンテキストでのみ機能しません。
ありがとう
symfony1 - null である左結合のメンバーにアクセスする際の教義の痛み
私のモデルには、Model_2 との結合を残した Model_1Table.class.php という Doctrine クエリがあります。Model_2 は、多対 1 の関係で Model_1 に関連付けられています。(これは実際には 1 対 1 の関係であり、多対 1 ではありませんが、スキーマはそのように設計されています)
私のクエリは次のとおりです。
SF Debugger のログを調べて、必要に応じて情報を取得し、Model_1 から where 句を満たすすべてのテーブル レコードを保持し、Model_2 のすべての値と存在しない値の null 値を保持します。
この情報にアクセスし、テーブル内の model_2 レコードの有無に応じて条件付きで情報をレンダリングしたいときに問題が始まります。私はこれが好きです:
これに基づいて、実際に機能するはずですが、モデル2のnull値では失敗すると思います。上記のレコードの if-else ステートメントを削除し、単純に foreach ループで Model2Record のコレクションにアクセスすると、Model2Record で使用可能な行が取得されますが、もちろん null 値にはアクセスされません。 . 基本的に、ここから取得する情報は、通常は内部結合から取得するものです。
質問を組み立てるために、Model2 レコードを null 値として持つ Model1 のレコードにアクセスするにはどうすればよいですか?
php - グループ化されたレコードの数を見つけるための教義ループを取得する方法
公開されているすべてのレコードを返すクエリに取り組んでおり、最新のupdated_versionでグループ化して並べ替えています。
次に、その結果をフィルタリングして、過去24時間、週、および月に更新された結果を表示します。
すべての作品はダンディです。ただし、これら3つの日付基準のそれぞれでレコードが更新されていない場合は、「レコードは更新されていません」とエコーするという条件を追加したいと思います。
クエリでこれらのグループを分離してそれをチェックできるか、あるいはループに変数を設定できるかどうか知りたいです。ループの問題は、ループ内で0の結果条件を取得できることですが、ループ内をチェックしているため、ループ内の各レコードに対して「結果が見つかりません」というエコーが表示されます。
OK、クエリは次のとおりです。
そしてループ:
これは3つのループのちょうど上にありますが、あなたは私の意図の要点を理解していると思います。明らかに、これは次を返すループです。
昨日更新された記録がありました。昨日更新された記録がありました。昨日更新された記録がありました。..。
これは望ましくありません。
それで、クエリから、groupByが0より大きいかどうかを確認できますか?確かに、結果を正しく取得するために3つのクエリを設定しなくても、これを実行できますか?
php - Doctrine ORMで複製された特定の列を取得するには?
Doctrine ORMを介して重複した名前の特定の列を取得するにはどうすればよいですか?
Zend で作成されたカスタム エンジンを使用するプロジェクトに取り組んでいます。問題は、2 つのテーブル (c_naslovi と c_sportovi) で列名が重複していることです。
列の名前を変更できますか?どうすればいいですか?私はドクトリンに不慣れです。n00bの質問にsry :)
php - Doctrine2製品と機能のマッピングの問題
マルチストアソリューションである必要があるEコマースソリューションを作成しています。製品とその機能の間の関連付けを作成している間、私は真剣に立ち往生しています。マルチストアソリューションであるため、製品ごとに動的な機能の可能性が必要です。Product、FeatureKind、FeatureValueの3つのエンティティを思いつきました。
- FeatureKindには、サイズ、色、スタイルなどの基本的な機能名があります。また、FeatureValueエンティティへのM:M接続もあります。
- FeatureValueには、Small、Medium、Green、Red、Blue、Full- SleevedなどのFeatureKindの値が含まれていることは明らかです。
- 製品エンティティは、M:MアソシエーションでFeatureKindに接続されています。
このタイプの構造でいくつか問題があります。
- サイズが小さい製品がある場合、オプションに中サイズも表示されないはずです。製品の色が緑のみの場合、赤や緑なども表示されないようにする必要があります。
- 次に、小さいサイズの緑と大きいサイズの赤でのみ入手可能な製品がある場合はどうなりますか。それはどのようにうまくいくでしょうか?
構造とアーキテクチャの両方を変更する必要があると確信しています。幸い、プロジェクトはSymfony2にあり、作成する製品バンドルしかありません。
ここにエンティティを投稿できれば幸いですが、私の問題はコードではなく概念です。あなたがそれを見る必要があるならば、ただコメントしてください、そして、私は質問を編集します。
mysql - クエリを選択し、条件に基づいてカウントします
すべてのカテゴリ、サブカテゴリを選択し、サブカテゴリに属するビジネスの数を数えたいです。これは私が使用しているSQlクエリです。
ただし、やりたいことがもっとあります。business_countは、所属する都市に応じてフィルタリングする必要があります。つまり、最終的にはすべてのカテゴリ、サブカテゴリを選択する必要がありますが、business_countには、のような句が必要WHERE city.id = 1
です。これには、countをサブクエリとして使用する必要があると思います。私はそれを理解することができませんでした。
以下は、からfi_business_subcategory
への関係構造fi_city
です。
1)fi_business_subcategory
2)fi_business
3)fi_suburb
4)fi_city
私はこのようなことを試みましたが、これはうまくいかないようです
クエリを作成して、必要なものを実現するにはどうすればよいですか?
doctrine - Doctrine2: マルチプロセスでのエンティティの可視性
Web 上の example.php は次のとおりです。
質問: example2.php が尋ねるとどうなりますか:
? null またはオブジェクト $page?
私は、example.php がまだ実行中で、$em->flush() をまだ呼び出していないと想定しています。
編集:
たぶん、$em の呼び方も決定的です: