如果我有一些条件想要检查,分离查询生成器的方法是什么?
我想要得到的是这样的东西:
public function getProfilePhotoByUserId($userId, $checkApproved = false)
{
$profile = $this->createQueryBuilder('p')
->where('p.user = :userId')
->andWhere('p.profile = 1')
->setParameter('userId', $userId);
if($checkApproved) $profile->andWhere('p.approved = 1');
$profile->getQuery();
return $profile->getOneOrNullResult(Query::HYDRATE_ARRAY);
}
但是,这在getOneOrNullResult上显示错误:
"在查询生成器中找不到方法"
getQuery()
返回一个 Doctrine\ORM\Query 对象。
$query = $profile->getQuery();
return query->getOneOrNullResult(Query::HYDRATE_ARRAY);
或
return $profile->getQuery()->getOneOrNullResult(Query::HYDRATE_ARRAY);