php - 具有 ManyToOne 关联的实体上的 getArrayResult

标签 php orm doctrine-orm

有如下基本表(一对多关系)
客户端 - 有很多用户。
用户 - 每个用户都属于一个客户端。

在一个非常简单的示例中,如果我查询用户实体 (Querybuilder) 使用 getArrayResult() 我看到以下内容:

  1. 实际生成的SQL中包含了需要的外键字段 返回(即 ClientID)
  2. 实际返回的数据数组不包含外键 field 。

在这个阶段我不需要返回外部数据所以不需要 加入关联表。

所以问题是...
我如何返回数组中的外键值?

查询是:

   $qb = $this->_em->createQueryBuilder();  
   $qb->select('e');  
   $qb->from('Entity\User', 'e');  

SQL 是:

SELECT w0_.Id AS Id0, w0_.Name AS Name2, w0_.ClientID AS ClientID7
FROM users w0_  

最佳答案

在执行查询之前尝试在查询(而不是构建器)上设置 HINT_INCLUDE_META_COLUMNS 查询提示。

$q->setHint(Query::HINT_INCLUDE_META_COLUMNS, true);

关于php - 具有 ManyToOne 关联的实体上的 getArrayResult,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5485893/

相关文章:

PHP 偏移 unix 时间戳

php - 为什么 mysql_fetch_object 在 class_name 为 null 时失败,即使这是默认值?

java - 来自 HBM 文件的 POJO

django - 添加多对多关系时检测重复插入

javascript - 名称年龄和上传文件未显示在数据库中

mysql - 教义 : a more efficient way to fetch all related entities in one swoop?

symfony - 依赖不存在的服务 "doctrine.orm.default_entity_manager"

php - 此查询的可能 JOIN

php - 如何在单个API调用中从多个Youtube channel 获取最新视频

javascript - 如何使用 MikroORM 插入对象图?