Doctrine2和SIMPLEOBJECT的异常

Doctrine2和SIMPLEOBJECT的异常,doctrine,symfony,doctrine-orm,Doctrine,Symfony,Doctrine Orm,作为一个好的实践,我尝试将对象尽可能小,因为数据将是只读的(只需在我的细枝模板中显示实体)。所以我尝试了hydration\u SIMPLEOBJECThydration模式,但我遇到了一个例外: protected function getFindAllQueryBuilder() { return $this->createQueryBuilder('p') ->select(array('p', 'parent', 'features', 'users'

作为一个好的实践,我尝试将对象尽可能小,因为数据将是只读的(只需在我的细枝模板中显示实体)。所以我尝试了
hydration\u SIMPLEOBJECT
hydration模式,但我遇到了一个例外:

protected function getFindAllQueryBuilder()
{
    return $this->createQueryBuilder('p')
        ->select(array('p', 'parent', 'features', 'users'))
        ->leftJoin('p.parent', 'parent')
        ->leftJoin('p.features', 'features')
        ->leftJoin('p.users', 'users');
}

public function findOneBySlugAsObject($slug)
{
    $qb = $this->getFindAllQueryBuilder();

    return $qb
        ->where($qb->expr()->eq('p.slug', ':slug'))
        ->setParameter('slug', $slug)
            ->getQuery()->getOneOrNullResult(Query::HYDRATE_SIMPLEOBJECT);
}
无法将SimpleObjector与包含的ResultsMapping一起使用 多个对象结果

我应该如何解释这个信息?顺便说一下,下面是引发异常的代码:

protected function getFindAllQueryBuilder()
{
    return $this->createQueryBuilder('p')
        ->select(array('p', 'parent', 'features', 'users'))
        ->leftJoin('p.parent', 'parent')
        ->leftJoin('p.features', 'features')
        ->leftJoin('p.users', 'users');
}

public function findOneBySlugAsObject($slug)
{
    $qb = $this->getFindAllQueryBuilder();

    return $qb
        ->where($qb->expr()->eq('p.slug', ':slug'))
        ->setParameter('slug', $slug)
            ->getQuery()->getOneOrNullResult(Query::HYDRATE_SIMPLEOBJECT);
}

SimpleObjector用于查询中不使用任何获取联接的结果集,换句话说,如果在select中使用多个别名,则无法使用它。SimpleObjector速度更快,因为它不处理这些获取联接