getArrayResult对于具有ManyToOne关联的实体

getArrayResult对于具有ManyToOne关联的实体

本文介绍了getArrayResult对于具有ManyToOne关联的实体的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

拥有以下基本表(一对多关系)

客户端 - 有很多用户。

用户 - 每个用户都属于单一客户端。

Having the follow basic tables (one-to-many relationship)
Client - Has many users.
Users - Each user belongs to single client.

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

In a very simple example if I query the user entity (Querybuilder)with getArrayResult() I see the following:


  1. 实际生成的SQL包含外键字段为
    返回(即ClientID)

  2. 实际返回的数据数组不包含外键
    字段。

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

At this stage I do not need to return foreign data and so do not needto join to the associated table.

所以问题是...

我的数组中返回外键值是什么或如何?

So question is...
What or how do I return the foreign key value in my array?

查询是:

   $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 查询提示执行它

Try to set the HINT_INCLUDE_META_COLUMNS query hint on the query (not the builder) before you execute it.

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

这篇关于getArrayResult对于具有ManyToOne关联的实体的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-03 09:40