有如下基本表(一对多关系)
客户端 - 有很多用户。
用户 - 每个用户都属于一个客户端。
在一个非常简单的示例中,如果我查询用户实体 (Querybuilder)
使用 getArrayResult()
我看到以下内容:
- 实际生成的SQL中包含了需要的外键字段 返回(即 ClientID)
- 实际返回的数据数组不包含外键 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/