2016-04-22 135 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块包裹的号召,因为如果找到多个结果,它可能会引发异常。