現在、次の 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_names
products
基本的に、すべての製品を取得するときに次のクエリを実行するエンティティが必要です。
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 つのエンティティ間のアソシエーションを定義するため、それはうまくいきません。