我有一个多态关联(类表继承),我需要使用 DQL 查询特定子类的实体,这可以在 WHERE 子句中使用“x INSTANCE OF Entity”来完成。现在我需要为该子类设置特定的条件,但出现此错误:
“Person 类没有名为 student_field_1 的关联”
人 = 父类
员工 = 子类
学生 = 子类(class)
有什么办法可以告诉 Doctrine 这个人实际上是一个学生,并允许我将学生字段放在 WHERE 中吗?
最佳答案
听起来“映射父类(super class)”更适合您的尝试,因为它不需要父/子之间的显式链接,它只是简单的继承。
使用类表继承,您需要提供通过键链接两个实体的鉴别器映射。
“子类的表应该通过外键约束链接到父类的表”
关于php - 在与 Doctrine2 的多态关联中找不到字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9834842/