php - 在与 Doctrine2 的多态关联中找不到字段

标签 php doctrine doctrine-orm

我有一个多态关联(类表继承),我需要使用 DQL 查询特定子类的实体,这可以在 WHERE 子句中使用“x INSTANCE OF Entity”来完成。现在我需要为该子类设置特定的条件,但出现此错误:

“Person 类没有名为 student_field_1 的关联”

人 = 父类

员工 = 子类

学生 = 子类(class)

有什么办法可以告诉 Doctrine 这个人实际上是一个学生,并允许我将学生字段放在 WHERE 中吗?

最佳答案

听起来“映射父类(super class)”更适合您的尝试,因为它不需要父/子之间的显式链接,它只是简单的继承。

http://docs.doctrine-project.org/projects/doctrine-orm/en/2.0.x/reference/inheritance-mapping.html#mapped-superclasses

使用类表继承,您需要提供通过键链接两个实体的鉴别器映射。

“子类的表应该通过外键约束链接到父类的表”

关于php - 在与 Doctrine2 的多态关联中找不到字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9834842/

相关文章:

doctrine - Symfony2错误: No mapping file found named

php - 如何强制 Doctrine 更新数组类型字段?

php - CreateQuery Doctrine Symfony 2 StateFieldPathExpression

symfony - 使用 Symfony 时如何处理连接表中的其他列?

php - Doctrine\DBAL\Schema\SchemaException - 表 'brand_id' 上没有名称为 'clients' 的列

orm - 具有该实体外键的 Doctrine 实体

php - mysql where 子句基于另一个查询

php - 表存在,但所有属性都丢失

java - Node.JS 位于 PHP 或 Rails 之前

php - 如何在遗留 PHP 项目中使用 symfony2 验证器组件?