Врач проверяет, есть ли запись в базе данных
Я хотел бы проверить, существует ли запись в базе данных. Единственное, что нужно вернуть - это правда или ложь. Сейчас я использую следующий запрос, чтобы получить запись. Является ли другая команда, как getResult(), чтобы проверить, существует ли запись?
return $this->createQueryBuilder('u')
->andWhere('u.email = :email AND u.id != :id')
->setParameter('email', $email)
->setParameter('id', $userId)
->getQuery()
->getResult();
1 ответ
Решение
return (boolean)$this->createQueryBuilder('u')
->andWhere('u.email = :email AND u.id != :id')
->setParameter('email', $email)
->setParameter('id', $userId)
->getQuery()
->getOneOrNullResult();
Обратите внимание, что если возможно (например, нет уникального индекса в столбце электронной почты), что запрос возвращает несколько результатов, вам также нужно обернуть вызов блоком try/catch, потому что он может вызвать исключение, если более одного результата найдены.