Запрос к MySQL

0

Мне нужно выполнить следующий запрос на сервер MySQL из symfony.

SELECT  count(DISTINCT hotel_id) FROM symfony.search_result where request_id=@requrst_id 

Код:

В контроллере:

  $qwery2=$repository->hotelsCount($searchId);

Функция:

 public function hotelsCount($requestId){

        $qb = $this->createQueryBuilder('self');
        $qb->select('count(hotel_id)')
        ->where('self.request_id=:req_id')
        ->setParameter('self.req_id',$requestId)->getQuery()->getResult();
        $rez=$qb->getQuery()->getSingleScalarResult();
        var_dump($rez);
        return $rez->fetchAll();
    }

Но я получил ошибку: [Семантическая ошибка] line 0, col 13 near 'hotel_id) FROM': Error: 'hotel_id' is not defined.

Таблица: Изображение 174551

  • 0
    Какое имя у сущности?
  • 0
    neme: 'SearchResult'
Показать ещё 1 комментарий
Теги:

3 ответа

2

Используйте count(self.hotel_id) в выбранном или count(self.hotelId). И в вашем месте: self.reqId <проверить сущности для этого

0

Я все еще новичок, поэтому я признаю, что не полностью выполнил ваш код, но попробую одинарные кавычки вокруг 'hotel_id'

-1

Попробуйте это, в этом случае имя сущности - "SearchResult", а имя пакета - "AppBundle", измените его, если это необходимо.

public function hotelsCount($requestId) {

     $qb = $this->createQueryBuilder();  

     $qb->select('count(p.hotel_id)');
     $qb->from('AppBundle:SearchResult', 't')
         ->where('p.request_id = :id')
         ->setParameter('id', $requestId);

     $count = $qb->getQuery()->getSingleScalarResult();

     return $count;
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню