我正在做一个简单的学说查询来从我的表中选择所有值。在这个表中,我有一个用户外键,它实际上是我的用户实体的id。问题是当我使用像
这样的东西时->getArrayResult();
或
->getResult(Query::HYDRATE_ARRAY);
我看到结果中的所有字段,除了我的用户字段。只有我var_dump
我才能看到它->getResult();
但在这种情况下我需要一个数组,而不是一个对象。我的用户字段如下:
/**
* @var \AppBundle\Entity\User
*
* @ORM\ManyToOne(targetEntity="AppBundle\Entity\User")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="user_id", referencedColumnName="id")
* })
*/
private $user;
任何想法如何获取它以及为什么它会从查询结果中删除?我不想再次预测返回的结果并将所有对象转换为普通数组,因为它会很慢。
谢谢。
UPD 我尝试使用这样的联接:
$sql = sprintf("SELECT a FROM 'AppBundle:Audit' a
INNER JOIN 'AppBundle:User' u
WITH a.user = u.id");
$query = $em->createQuery($sql)
//->setParameters($parameters)
//->setHint(Query::HINT_INCLUDE_META_COLUMNS, true)
->getArrayResult();
但仍然无法获取其他用户数据。