inheritance - Doctrine - 继承映射,查询子类

标签 inheritance orm doctrine mapping dql

我已经加入了表继承(我们称之为 Action),我需要获取满足条件的 Action 的所有记录,但这些字段在子类中?有没有办法在不编写 native 查询的情况下访问子类字段,而是使用 DQL ? (或查询生成器)?

最佳答案

如果您有一个子类,则可以直接查询该子类。父类的属性将被自动继承(废话)。我相信这就是你正在寻找的(基于我如何实现类表继承)。

class User{
  private $id;
  private $username;
}

class Merchant extends User{
  private $bizname;
  private $isActive;
}

现在根据你的说法,如果我必须获得活跃的商人,我会做以下事情,它对我有用:
$qb->select('m.bizname')
   ->from('Merchant','m')
   ->where('m.isActive = :flag')
   ->setParameter('flag',TRUE);

关于inheritance - Doctrine - 继承映射,查询子类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9810573/

相关文章:

php - 如何在生产环境中访问 Doctrine 分析器?

php - 驱动程序 : SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client 发生异常

ruby - 使用类似 django 的液体 block /继承的 Jekyll 模板

python - 只能从 python 中的类后代访问的方法

java - 从列表中选择一个类型

java - 为什么 Hibernate @OneToOne 执行多个选择查询而不是一个?

Doctrine 无法产生关系

php - SilverStripe 通过 DataExtension 检索原始类名

java - 获取多个 onetoMany 关系 Hibernate JPA

python - django 中关系的平均值