如何通过两次选择执行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();
}
}