Я пытаюсь сделать простой запрос в доктрине, но борется.Doctrine orderBy на поле SUM() с псевдонимом
$query->select(array(
'app_title' => 'u.title',
'user_name' => 'u.user_name',
'first_used' => 'MIN(u.creation_time)',
'last_used' => 'MAX(u.stop_time)',
'total_usage' => 'SUM(u.stream_seconds)',
))
->from(self::USAGE_TABLE, 'u')
->orderBy('total_usage', 'DESC');
Очевидно, я получаю сообщение об ошибке о имени столбца не известном, потому что доктрина использует его собственные псевдонимы (sclr4).
Однако, если я попробую и заказаю фактическое значение; SUM (u.stream_seconds), то я получаю непредвиденную скобку в предложении order by, я уверен, что SQL этого не поддерживает.
Итак, я просто пытаюсь помещать данные в таблицу и обрабатывать сортировку столбцов. Это кажется таким простым, как мне это сделать? Есть идеи?
Это помогает, теперь у меня возникает проблема, когда я начинаю использовать setFirstResult для разбивки на страницы .. «Исключение произошло при выполнении« SELECT * FROM »(SELECT ROW_NUMBER() OVER (ORDER BY sclr4 DESC) AS doctrine_rownum .. . «Очевидно, дает« Недопустимое имя столбца «sclr4». »Но я не могу понять, как его остановить! – YorkshireDeveloper
@YorkshireDeveloper Вы когда-нибудь выяснили, почему у вас возникло исключение« Неверное имя столбца «sclr4»? У меня такая же проблема. – NSAddict