Điều này có vẻ đơn giản nhưng tôi không thể làm cho nó đúng:Nhiều-To-One với nhiều đối tượng mục tiêu
Có ba đơn vị: Fruit
, Vegetable
và Snack
. Snack có các lĩnh vực id
, time
và food
. Thực phẩm là một tham chiếu đến hoặc một quả hoặc một loại rau. Vì vậy, về cơ bản là mối quan hệ nhiều-một-một-một-nhiều như một bữa ăn nhẹ sẽ luôn chỉ giữ một thực phẩm. Nhưng có nhiều hơn một thực thể mục tiêu.
Tôi làm cách nào để ánh xạ điều này trong Doctrine2?
Một giải pháp đơn giản mà tôi đã sử dụng trước khi biết Doctrine2 sẽ sử dụng hai trường: food_type
và food_id
. Nhưng làm cách nào tôi có thể tạo kết nối từ loại thực phẩm đến đúng thực thể? Tôi nghĩ về một mảng JoinColumns nhưng không thể tìm ra cách để kết nối đúng thực thể. Tôi cũng đã có một cái nhìn tại các lớp siêu ánh xạ vì có một DiscriminatorColumn, nhưng nó cũng có vẻ là cách tiếp cận sai. Nếu tôi hiểu đúng, siêu lớp không thể là một thực thể - vì vậy tôi không thể tạo ra một thực thể thức ăn.
Mọi trợ giúp đều được đánh giá cao. Tôi chắc rằng tôi đang thiếu một cái gì đó đơn giản ở đây.
bạn đã xem [thực hiện việc thực hiện thừa kế bảng đơn của doctrine] (http://docs.doctrine-project.org/en/2.0.x/reference/inheritance-mapping.html#single-table-inheritance) chưa? –