1

現在、次の SQL スキーマに固執しています (残念ながら DB を所有しておらず、変更することもできません)。

+----------------------------------------+
|          TABLE "products"              |
+----------------------------------------+
| Column             |  Type             |
+----------------------------------------+
| id                 | integer           |
| price              | float             |
| purchased          | datetime          |
+----------------------------------------+

+----------------------------------------+
|          VIEW "product_names"          |
+----------------------------------------+
| Column             |  Type             |
+----------------------------------------+
| product_id (FK)    | integer           |
| name               | varchar           |
+----------------------------------------+

このプロジェクトでDoctrine2.1を使用しているので、ビューから名前を取得し、テーブルから残りのデータを取得するProductエンティティを定義できるかどうか疑問に思っていますか?product_namesproducts

基本的に、すべての製品を取得するときに次のクエリを実行するエンティティが必要です。

SELECT p.id, p.price, p.purchased, n.name 
FROM products p
LEFT JOIN product_names n
ON p.id = n.product_id

OneToOne アソシエーションを調べましたが、エンティティのプロパティではなく、2 つのエンティティ間のアソシエーションを定義するため、それはうまくいきません。

4

0 に答える 0