問題タブ [doctrine-orm]
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.
doctrine-orm - Doctrine2 + 参加条件
まず第一に、Doctrine 開発者の皆さんに心から感謝したいと思います。私の問題は次のとおりです。
私は3つのテーブルを持っています:
そして、私は個人ごとにメールのリストを取得したい:
正常に動作します。しかし、問題は、結合句 isActive=1 で追加条件も設定したいということです。Doctrine2でそれを解決する方法は? ありがとう。
php - 関心の分離-MVC構造のどこでflush()を実行するか(コントローラーとサービスレイヤー)
ZendフレームワークとDoctrine2をORMとして使用するPHPを使用するアプリケーションがあります。私の質問は、コントローラーが基礎となるモデルと永続層についてどれだけ知っておくべきかに関するものです。理想的には、これは自分自身では「何もない」と言えます。コントローラーは、エンティティが永続化される方法とタイミングについて何も知らないはずです。しかし、これが常に最善の解決策であるとは限らないと思います(?)。
私は「関心の分離」の設計ガイドラインに従おうとしました。これは、モデルでCRUD操作を実行するサービスレイヤーを作成することで実現しました。次の例を参照してください。
ご覧のとおり、コントローラーは永続性について何も知りませんが、この結果を得るには、サービスレイヤーのcreateXXX()またはupdateXXX()メソッドへのすべての呼び出し内でpersist()とflush()の両方を実行する必要があります。私はむしろこのようなことをしたかった:
しかし、これによりDoctrine2が失敗します。これは、オブジェクトをデータベースに間違った順序で永続化するためです。特権はセクションの前に永続化されます(Doctrineに順序付けられた方法でこれを実行するように指示できる場合はdunno ??)。特権は、まだ永続化されていないセクションのIDを誤って取得します。
とにかく、ここでの大きな問題は、すべてのオブジェクトが作成され、リレーションが設定されるまで、フラッシュを延期する必要があるかどうかです。目標は、データベースへのすべての書き込みを行う1つのトランザクションを持つことです。これは、コントローラーによってトリガーされる必要があります(これは、オブジェクトとリレーションの構築が行われることを知っている唯一のトランザクションであるため)。これにより、コントローラーを「汚染」します。永続性レイヤー?
xml - XML 検証に失敗しました
私のXML
Netbeans で検証しようとすると、この結果が得られます
また、 http: //www.validome.org/xml/validate/ で XML を検証できませんでした。
有効であることを確認するにはどうすればよいですか?
doctrine-orm - 戦略を NONE に設定して主キーの値を設定します
次のような Entity クラスがあります。
Doctrine 2 Identifier Generation Strategy セクションに基づく:
NONE: コードによって識別子が割り当てられている (したがって生成されている) ことを Doctrine に伝えます。新しいエンティティが EntityManager#persist に渡される前に、割り当てを行う必要があります。NONE は @GeneratedValue を完全に除外することと同じです。
つまり、persist を呼び出す前に値を設定できる方法が必要です。
呼び出し./doctrine orm:generate-entities
てもセッター関数は生成されません。クラスに手動で記述する必要がありますか?
これは正しい方法ですか?
php - Doctrine 2モデル:「-」を含むテーブル名をどのように設定しますか?
Doctrine 2 Modelのテーブル行変数にどのように名前を付ける必要がありますか(たとえばurl-name
、テーブル行名)、それを試してみました:
ただし、$ urlName行はフェッチされません(この行の結果は空ですが、他の行/残りは正しくフェッチされます)。
php - Doctrine: そのクエリを取得する方法は?
PDO_MYSQL で Doctrine 2 を使用しており、そのクエリをクエリしたい:
だから私はそれを試しました:
しかし、私はこのエラーが発生します:
では、そのクエリをどのようにクエリできますか?
database - doctrine2でモデルを生成する
doctrine1では、-models-dbを生成することが可能でした。cliからdoctrine2でそれを行う方法は?
xml - Zend 1.10 / Doctrine 2は、XMLマッピングでスキーマを処理できません
私は現在、ORMDoctrine2をZendFrameworkと統合しようとしています。XMLDriverを使おうとしています。
スキーマを生成しようとするまで、すべてが正常に機能します。確かに、エンティティはうまく作成されています。
だから、ここにブートストラップファイルがあります:
}
最後に、doctrine.phpファイルがあります:
製品例のXMLマッピングファイルは次のとおりです。
私が言ったように、私がエンティティを作成しようとすると、すべてがうまく機能します:
そして、Product.phpはApplication \ models \entity\ディレクトリに生成されます。
しかし、スキーマを生成しようとすると、次の例外/エラーが発生します。
助けてくれてありがとう。
php - モジュール構造の Zend Framework + Doctrine 2
アプリケーションのモジュールで Zend Framework を使用しており、Doctrine 2 を同じ方法で統合することに興味があります。
モジュールには以下が含まれます。
- コントローラー
- モデル
- ビュー
- ヘルパー
Doctrine 2 の問題は、エンティティ ディレクトリとプロキシ ディレクトリが必要なことです。エンティティ ディレクトリをモジュール構造のモデル ディレクトリにしたいのですが、調査に基づいて解決策が見つかりませんでした。
現在、デフォルトのモジュールを使用すると、メタデータの実装は次のようになります。
新しいモジュールを追加したい場合、たとえば「cms」としましょう。Doctrine でモデルを管理する方法がありません。
問題の解決策を持っている人はいますか?
php - Doctrine1とDoctrine2の違いは何ですか?
私はDoctrineの発見を始めたばかりで、公式のドキュメントが1.2を指していることに気づきました。これは、現在の安定バージョンのようです。
また、Doctrine2はDoctrine1と比べて「違いの世界」だと多くの人が言っているようですが、What 's newページを見ると、大きな変更ログはあまり見られません。このリストには、以前の2.xビルドと比較した最新の追加のみが表示されていると思います。この同じ質問をグーグルした後、私は違いの素晴らしいまとめを見つけることを期待しました、しかし私はそれを見ることができません。
私は現在、Doctrine 1のマニュアルを読んでおり、読み終えたらすぐにDoctrine 2についても同じことを行いますが、大きな変更の適切な概要をいただければ幸いです。私の質問は次のとおりです。
Doctrine1とDoctrine2の違いは何ですか?