Sql Symfony条令查询返回数组而不是对象

Sql Symfony条令查询返回数组而不是对象,sql,symfony,object,doctrine,Sql,Symfony,Object,Doctrine,我发现了很多相反的问题,但没有一个能解释为什么我在使用内部联接时会得到一个数组 我的问题是: $entityManager = $this->getEntityManager(); $query = $entityManager->createQuery( 'SELECT sp, p FROM App\Entity\Portal\StaticPage sp INNER JOIN sp.portal p WHERE p.id = :id AND s

我发现了很多相反的问题,但没有一个能解释为什么我在使用内部联接时会得到一个数组

我的问题是:

$entityManager = $this->getEntityManager();
$query = $entityManager->createQuery(
   'SELECT sp, p
    FROM App\Entity\Portal\StaticPage sp
    INNER JOIN sp.portal p
    WHERE p.id = :id
    AND sp.name = :name'
)->setParameters(array('name'=> $name, 'id'=> $id));

return $query->getOneOrNullResult();
这会产生以下错误:
注意:未定义索引:staticpage

但如果我这样做:
return$query->getArrayResult()

我得到以下输出:

array[
  0 => array [ Object in array form ]
]

如果想知道如何获取对象而不是包含所有值的数组,请尝试从控制台启动
doctor:schema:validate
,检查一切是否正常。由于GetOneOrnulResult应该返回一个对象或null,我可以想象这是罪魁祸首。
[数组形式的对象]
是否也包括门户?但错误消息很奇怪。。。具体看一看列表后面的段落和其他模式。