問題タブ [doctrine]
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 - PHPDoctrine-関連レコードのロード
DoctrinePHPの使用
モデルアドレスと多対多の関係を持つユーザーがいて、各アドレスにアドレスタイプ(自宅、オフィス)への外部キーがある場合。Doctrineは、そのアドレスタイプの関連レコードを自動的にロードしません。
これがバグなのか、教義や私のモデルにないのかわからない。
しかし、これは1レベルを超えて関連モデルをロードするための最良の方法ですか、それとも同じ結果を達成するための別の方法がありますか?
php - Doctrineによる累積DQL
累積合計を生成するために適切な DQL を作成するのに苦労しています。私はプレーンなSQLでそれを行うことができますが、DQLになると私はそれを手に入れることができません.
SQL での表示は次のとおりです。
ありがとう
php - Doctrine select ステートメントで「case when」を使用する
Doctrine で実行したい選択クエリがあります。
そして、それは「ケース」にbarfsします。ドキュメントには、それが可能かどうかについては言及されていません。
Doctrine にはそうする能力がないのではないかと思っています。もしそうなら、それはかなり大きな省略です。回避策を知っている人はいますか?
php - 教義:リスナー(preDqlSelect)内のselectクエリからwhere句の一部を削除するにはどうすればよいですか?
私のリスナーは動作の一部であり、呼び出されたselectクエリのwhere句のis_publishedチェックをすべて削除する必要があります。句にパーツを追加するのは本当に簡単ですが、それを削除する方法。
のようないくつかの関数がありますがDoctrine_Query->removeDqlQueryPart('where')
、それは完全なwhere句を削除しますが、削除する必要があるのは'is_published = ?'
一部だけです。
ただし、正規表現などを使用して、これを手動で処理することはできます。ただし、注意が必要なのは、「?」で表されるパラメーターを削除する方法です。対応するパラメータ配列から(によって取得可能Doctrine_Query->getRawParams()
)。
だから私は尋ねます、この種のクエリを変換するためのクリーンな方法はありますか?
...FROM Video v WHERE v.is_published = ? AND v.start_date < ? AND v.end_date > ?
この削除されたものに、疑問符で表されるパラメータを台無しにすることなく:
...FROM Video v WHERE v.start_date < ? AND v.end_date > ?
これはもちろん単純な例です。私のクエリはもう少し複雑です。残念ながら、symfonyフレームワークのために私はdoctrine1.0.xで立ち往生しています。
orm - doctrine orm: 遅延読み込みをバイパスし、getter で関連するレコードをプリフェッチします
Doctrine ORM を使用して、ゲッターで使用するときに関連レコードの自動熱心な読み込みを有効にすることは可能ですか? (明示的な leftJoins() なし)
leftJoin() を使用して関連レコードを持つオブジェクトを取得できることはわかっていますが、オブジェクトごとに DQL クエリを作成することは避け、単に関連レコードの自動「プリフェッチ」を行いたいと考えています。
これは、ネストされた Doctrine_Records を循環する必要がある場合に役立ちます。これは、Kohana ORM が with() ステートメントを通じて持つ機能とまったく同じです。
http://docs.kohanaphp.com/libraries/orm#with
(配列構文で「ルート」レコードのみを取得した場合でも、結合を使用してクエリを実行するだけです)。
php - Doctrine で DATETIME の代わりに MySQL TIMESTAMP カラムを使用するには?
timestamp
Doctrine 1.0 でMySQL 列タイプを使用する方法を探しています。指定された型が の代わりにDoctrine_DataDict_Mysql
returnに変更することで機能させることができましたが、それが正しい方法ではないことはかなり確信しており、おそらくいつか壊れるでしょう。TIMESTAMP
DATETIME
timestamp
Doctrine 2.0 には型マッピング機能が組み込まれているようですが、1.0 には同等のメカニズムが見つからず、今のところそれに固執しています。
どんなポインタでも大歓迎です。
php - Doctrine PHP の質問
CLI を使用してテーブル定義とデータ フィクスチャをロードする順序を指定できるかどうか疑問に思っていました。私の問題は、2 つのテーブルがあり、それぞれが他方を指す外部キー制約を持っているため、レコードが追加された後に制約の 1 つを追加する必要があることです。または、これを行うためのより良い方法があるかもしれません...私はデータベースの専門家ではなく、今日は頭がぼやけています。
スキーマ:
model - refClass の属性との多対多の関係
私は現在、Doctrine を ORM として symfony (1.2) を使用して、Web サイトを設計しています。
ディナー クラス、クライテリア クラス、マーク クラスがあります。
- マークはディナーと基準にリンクされ、DateOfMark、MarkValue などのプライベート属性を持ちます。
- Dinner と Criteria には、多くのマーク (またはゼロ) を含めることができます。
Doctrine を使用しているので、次のコードを使用して、このモデルを schema.yml で定義します。
問題は、Doctrine によって生成された SQL が FOREIGN KEY CONSTRAINT
onを追加するMark.dinner_id
ことDinner.id
(これは正しい)とonを追加することです ( Dinnerには多くのマークがある可能性があるため、これは実際には正しくありません)。FOREIGN KEY CONSTRAINT
Dinner.id
Mark.dinner_id
質問
私は何か見落としてますか ?この種のクラス間の関係は間違っていますか?
ありがとうございます。
php - DoctrineとZend_Formの検証
私はプロジェクトでZendFrameworkとDoctrineを使用していますが、Doctrineの検証をZend_Formと統合するための良い方法を誰かが提案できるかどうか疑問に思っていました。コードの重複を避けようとしています。
php - Doctrine 移行の外部キー
PHP Doctrine では、テーブルを作成し、そのテーブルに外部キーを作成する 1 つの移行クラスを作成することは可能ですか? 何らかの理由で、外部キーを機能させることができません...
ありがとう、オフィール