2016-04-22 28 views
-1

レコードがデータベースに存在するかどうか確認したいと思います。返す必要があるのは、真または偽です。私は今、レコードを取得するために次のクエリを使用しています。レコードが存在するかどうかを調べるためのもう1つのコマンドはgetResult()ですか?データベースにレコードが存在するかどうかを確認する

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ブロックで呼び出しをラップする必要があることに注意してください複数の結果が見つかった場合、例外がスローされる可能性があるからです。

関連する問題