原则 2:在 QueryBuilder 中分离链调用



如果我有一些条件想要检查,分离查询生成器的方法是什么?

我想要得到的是这样的东西:

 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);

相关内容

  • 没有找到相关文章

最新更新