Doctrine结果field_as_object被删除

时间:2017-04-03 11:51:46

标签: php symfony doctrine-orm

我正在做一个简单的学说查询来从我的表中选择所有值。在这个表中,我有一个用户外键,它实际上是我的用户实体的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();

但仍然无法获取其他用户数据。

0 个答案:

没有答案