如何通过两次选择执行Symfony存储库调用,从而将第二次选择转换为对象,需要解决方法或解决方案吗?

如何通过两次选择执行Symfony存储库调用,从而将第二次选择转换为对象,需要解决方法或解决方案吗?,symfony,doctrine,repository,Symfony,Doctrine,Repository,我试图对名为Data的对象执行左外部联接,方法是在联接表JoinData上放置一个条件(状态=3),然后左联接数据 class JoinDataRepository extends EntityRepository { public function getDataWithStatusEqualsThree() { $qb = $this->createQueryBuilder('jd') ->select('jd','d

我试图对名为
Data
的对象执行左外部联接,方法是在联接表
JoinData
上放置一个条件(状态=3),然后左联接
数据

class JoinDataRepository extends EntityRepository
{
    public function getDataWithStatusEqualsThree()
    {
        $qb = $this->createQueryBuilder('jd')
               ->select('jd','d')
               ->where('jd.status = 3')
               ->leftJoin('jd.data', 'd')
               ->addOrderBy('d.created', 'DESC');

        return $qb->getQuery()
              ->getResult();
    }
}
结果如下所示-选择两个对象的属性1)
JoinData
和2)
Data
属性(我实际上希望将其作为对象):

该方法返回
JoinData
对象的列表。是否可以只返回
数据
对象?或者仅仅使用QueryManager有解决办法吗?

这是怎么回事:

class JoinDataRepository extends EntityRepository
{
    public function getDataWithStatusEqualsThree()
    {
        $qb = $this->createQueryBuilder('jd')
               ->select('d')
               ->where('jd.status = 3')
               ->leftJoin('jd.data', 'd')
               ->addOrderBy('d.created', 'DESC');

        return $qb->getQuery()
              ->getResult();
    }
}

这将始终尝试返回“JoinData”对象的列表。由于这里只返回来自“d”(数据)的属性,它抱怨由于缺少属性而无法水合。
class JoinDataRepository extends EntityRepository
{
    public function getDataWithStatusEqualsThree()
    {
        $qb = $this->createQueryBuilder('jd')
               ->select('d')
               ->where('jd.status = 3')
               ->leftJoin('jd.data', 'd')
               ->addOrderBy('d.created', 'DESC');

        return $qb->getQuery()
              ->getResult();
    }
}