私は自分の問題を説明しようとします。まもなく、私はアドレステーブル、部屋のテーブル、建物のテーブルとユーザーのテーブルを持っています。住所表は、ID、建物、ユーザーの住所を保持できる必要があります。私は直接アソシエーションマッピングを使うことができないので、私は継承マッピングが必要です。私はこれを継承マッピングの問題がよくないことを明らかにする。私の解決策は、部屋、建物、ユーザー(クラス名も含む)のIDを保持する別名テーブルを作成し、アドレステーブルがこの別名テーブルと直接対話できるようにすることです。だからSQLスタイルでこれはエイリアスに参加し、ユーザーはアドレステーブルに参加してユーザーのアドレスを検索します。しかし、どのマッピングスタイルが適合するかを判断することはできませんでした。あなたは私にそれについていくつかのアドバイスをして、それがなぜそんなに簡単な説明をしてくれますか?おかげさまで Doctrine 2継承マッピング戦略アドバイスが必要
0
A
答えて
0
は、私はそれ
/**
* @orm:Table(name="rooms")
* @orm:Entity
*/
class Room {
....
/**
* @orm:InheritanceType("JOINED")
* @orm:OneToOne(targetEntity="Building")
* @orm:JoinColumn(name="bid", referencedColumnName="id", onDelete="CASCADE", nullable=false)
*/
private $building;
....
}
/**
* @orm:Table(name="Buildings")
* @orm:Entity
*/
class Building {
....
/**
* @orm:InheritanceType("JOINED")
* @orm:OneToOne(targetEntity="Address")
* @orm:JoinColumn(name="aid", referencedColumnName="id", onDelete="CASCADE", nullable=false)
*/
private $address;
....
}
/**
* @orm:Table(name="rooms")
* @orm:Entity
*/
class Address {
....
/**
* @orm:InheritanceType("JOINED")
* @orm:OneToOne(targetEntity="User")
* @orm:JoinColumn(name="uid", referencedColumnName="id", onDelete="CASCADE", nullable=false)
*/
private $user;
....
}
/**
* @orm:Table(name="users")
* @orm:Entity
*/
class User {
....
}
@orm:
ため
users address buildings rooms
とコードを(部屋の建物を持っている建物がアドレスを持っている、アドレスを所有することができ、ユーザ)あなたは、私がこのような構造を仮定
のような関係を使用することをお勧めsymfonyでdoctrineを使用する場合の必要性
関連する問題
- 1. 従来のアプリケーション移行戦略 - 戦略に必要なアドバイス
- 2. Symfony 2 + Doctrine 2 +継承
- 3. Java継承設計のアイデア - アドバイスが必要です
- 4. PHP Doctrine継承
- 5. ASP.NETアプリケーションのインストール - 戦略が必要
- 6. JPAでSINGLE_TABLE戦略を継承し、ゲッターで@Discriminatorを継承する
- 7. Javaのベース2コードクエリの戦略が必要
- 8. 私は使用するためのマッピング戦略を指導が必要です
- 9. Doctrine継承のパフォーマンス
- 10. ベストActiveRecordの継承抽象クラスのための戦略とサブクラス
- 11. 効率的なTFSブランチング戦略のアドバイス
- 12. テストライティング戦略に関するアドバイス
- 13. Doctrine 2のネーミング戦略を構成する方法
- 14. Fluent NHibernateマッピング継承
- 15. OOPと継承のアドバイスは
- 16. doctrine doctrineエンティティを継承するphpクラス
- 17. Node.js必要なプロトタイプ継承
- 18. Datanucleusスキーマ生成で "継承戦略="指示が無視される
- 19. Doctrine 2 Discriminator継承マッピングはfindByメソッドが動作しないことにつながります
- 20. doctrine2マッピングが必要です
- 21. Fluent NHibernateでの継承マッピング
- 22. XML2Javaマッピング - 継承を扱う
- 23. Doctrine2 - 継承マッピング、サブクラスのクエリ
- 24. バックエンドロジックにAJAXのIDを渡す戦略が必要
- 25. WCF - アドバイスが必要
- 26. ユニットテスト - アドバイスが必要
- 27. デフォルト戦略の戦略パターン
- 28. Doctrine 2 - クラステーブル継承、種類によって選択
- 29. Doctrine2、 "継承された"テーブルのマッピング
- 30. Symfony2の戦略パターン
ありがとうございますが、この構造体に継承はありません。それは1対1の結合です構造。私はDiscriminator Columnsが必要なので、私のニーズに合ったものがClass Table Inheritanceであることが分かったと思います。コーディングが終わったら、ここにコードを投稿します。 – ufucuk