Врач проверяет, есть ли запись в базе данных

Я хотел бы проверить, существует ли запись в базе данных. Единственное, что нужно вернуть - это правда или ложь. Сейчас я использую следующий запрос, чтобы получить запись. Является ли другая команда, как 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, потому что он может вызвать исключение, если более одного результата найдены.

Другие вопросы по тегам