Doctrine 2:QueryBuilder中的单独链调用

时间:2016-04-26 10:53:41

标签: symfony doctrine-orm

如果我有一些我想检查的条件,那么分离查询构建器的方法是什么。

我想得的是这样的:

 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中找不到方法”

1 个答案:

答案 0 :(得分:0)

getQuery()返回Doctrine \ ORM \ Query对象。

$query = $profile->getQuery();

return query->getOneOrNullResult(Query::HYDRATE_ARRAY);

return $profile->getQuery()->getOneOrNullResult(Query::HYDRATE_ARRAY);