2016-04-26 38 views
0

如果我有一些條件需要檢查,那麼將querybuilder分開的方法是什麼?原則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錯誤:

「法的QueryBuilder找不到」

回答

0

getQuery()回報學說\ ORM \查詢對象。

$query = $profile->getQuery(); 

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

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