如果我有一些我想检查的条件,那么分离查询构建器的方法是什么。
我想得的是这样的:
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上显示错误:
“在querybuilder中找不到方法”
答案 0 :(得分:0)
getQuery()
返回Doctrine \ ORM \ Query对象。
$query = $profile->getQuery();
return query->getOneOrNullResult(Query::HYDRATE_ARRAY);
或
return $profile->getQuery()->getOneOrNullResult(Query::HYDRATE_ARRAY);