Próbuję zrobić proste zapytanie w doktrynie, ale walczę.Doctrine orderBy na polu SUMA() z aliasem
$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');
Oczywiście pojawia się błąd o nazwie kolumny nie jest znany, ponieważ doktryna jest go używać własnych aliasów (sclr4).
Jednakże, jeśli spróbuję i uporządkuję według rzeczywistej wartości; SUMA (u.stream_seconds), a następnie otrzymuję niespodziewany nawias w kolejności klauzuli, jestem prawie pewien, że SQL nie obsługuje tego.
Po prostu próbuję umieścić dane w tabeli i zajmuję się sortowaniem kolumn. Wydaje się to takie proste, jak to zrobić? Jakieś pomysły?
To pomaga, teraz mam problem tylko wtedy, gdy zaczynam używać setFirstResult do stronicowania .. "Wystąpił wyjątek podczas wykonywania polecenia" SELECT * FROM (SELECT ROW_NUMBER() OVER (ORDER BY sclr4 DESC) AS doktryna_rownum .. "oczywiście daje" Nieprawidłowa nazwa kolumny "sclr4". "ale nie mogę wydawać się pracować nad tym, jak to zatrzymać! – YorkshireDeveloper
@YorkshireDeveloper Czy kiedykolwiek zastanawiałeś się, dlaczego dostałeś" Nieprawidłową nazwę kolumny "sclr4" "wyjątek? Mam ten sam problem. – NSAddict