2016-04-22 102 views
-1

我想檢查數據庫中是否存在記錄。它唯一需要返回的是真或假。我現在使用以下查詢來獲取記錄。是另一個命令getResult()來檢查記錄是否存在?Doctorine檢查數據庫中是否存在記錄

return $this->createQueryBuilder('u') 
      ->andWhere('u.email = :email AND u.id != :id') 
      ->setParameter('email', $email) 
      ->setParameter('id', $userId) 
      ->getQuery() 
      ->getResult(); 

回答

2
return (boolean)$this->createQueryBuilder('u') 
      ->andWhere('u.email = :email AND u.id != :id') 
      ->setParameter('email', $email) 
      ->setParameter('id', $userId) 
      ->getQuery() 
      ->getOneOrNullResult(); 

請注意,如果可能的話(例如有沒有唯一索引電子郵件列)查詢返回多個結果,那麼你還需要使用try/catch塊包裹的號召,因爲如果找到多個結果,它可能會引發異常。

相關問題