Невозможно добавить группу с диапазоном в zf2

У меня есть запрос, который не работает, показывает неизвестный столбец Мой запрос в Zend Framework 2

$select = new Select('dining_table_reservation');
        $select->columns(array('range'=>new \Zend\Db\Sql\Expression("CONCAT(5*floor(dining_table.SeatingCapacity/5),'-',5*floor(dining_table.SeatingCapacity/5) + 5)"),'Avgtime'=>new \Zend\Db\Sql\Expression('avg(timestampdiff(SECOND, '.$dtr.'.StartTime, '.$dtr.'.EndTime))')));
        $select->join($dt, "$dtr.TableId=$dt.TableId", array('SeatingCapacity'),'INNER');
        $select->group(1);
        $select->order($dt.'.SeatingCapacity');

мой запрос

SELECT CONCAT(5*floor(dining_table.SeatingCapacity/5),'-',5*floor(dining_table.SeatingCapacity/5) + 5) AS "range", avg(timestampdiff(SECOND, dining_table_reservation.StartTime, dining_table_reservation.EndTime)) AS "Avgtime", "dining_table"."SeatingCapacity" AS "SeatingCapacity" FROM "dining_table_reservation" INNER JOIN "dining_table" ON "dining_table_reservation"."TableId"="dining_table"."TableId" GROUP BY "1" ORDER BY "dining_table"."SeatingCapacity" ASC

Он показывает ошибку:

"Не удалось выполнить оператор (42S22 - 1054 - Неизвестный столбец '1' в 'групповом операторе')"

Что я должен делать ?


person Mujaheed Sayyed    schedule 17.12.2015    source источник


Ответы (1)


У вас нет столбца 1 в таблице базы данных, вам нужно установить существующий столбец для группировки. Вы можете показать вам структуру базы данных?

person Naumov    schedule 17.12.2015
comment
Если я добавлю имя столбца, результат запроса изменится. он не дает запрошенного результата. - person Mujaheed Sayyed; 17.12.2015
comment
что вы хотите получить из базы данных? - person Naumov; 17.12.2015
comment
Диапазон Среднее время Размер 0–5 1800,0000 2 5–10 2200,0000 8 - person Mujaheed Sayyed; 17.12.2015
comment
Если мы добавим какое-либо имя столбца, то он не будет группировать заданный диапазон - person Mujaheed Sayyed; 17.12.2015
comment
Если я напрямую запускаю форму запроса phpmyadmin, он работает правильно ... но в zf2 выдает ошибку - person Mujaheed Sayyed; 17.12.2015
comment
try (int)1 привести к типу integer или попробовать выполнить собственный SQL-запрос $select->group((int)1); - person Naumov; 17.12.2015