Задать вопрос
@MasterCopipaster

Как сделать EXISTS в репозитории?

Ребята подскажите пожалуйста, я хочу проверить что в таблицы просто есть запись
что то вроде
SELECT EXISTS(SELECT id FROM table WHERE telegam_id = 1123 and telegram_login=1 )


Но чет не могу допереть как это написать в Doctrine в репозитории? не делая RAW запрос
private function isLoginTelegram(int $telegram_id):bool
    {
        //$qb->expr()->exists($sub->getDQL()
        $sub = $this->createQueryBuilder('u')
            ->andWhere('u.telegam_id = :telegram_id')
            ->andWhere('u.telegram_login = 1')
            ->setParameter('telegram_id', $telegram_id)
            ->getDQL();
        //$this->createQueryBuilder('u')->
    }

Может подскажите? - и еще хотел спросить а что профитнее в таком случае будет? - EXISTS или COUNT

Типо если COUNT > 0 то значит что то нашлось....
  • Вопрос задан
  • 731 просмотр
Подписаться 1 Простой 3 комментария
Решения вопроса 1
@MasterCopipaster Автор вопроса
Во общем мне в моментах подсказали:
Запускайте прямо ваш запрос и используйте Query#getSingleScalarResult(). Если вернулся id - запись есть, если будет выкинуто NoResultException - то записи нет.


Думаю и правда наверное это самое хорошее решение будет....
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы