Doctrine 2: Alias nach Feld gruppieren (Fehler: '…' zeigt nicht auf eine Klasse.)

Ich habe diese Doctrine-Abfrage erhalten:

        select upper(substring(e.name, 1, 1)) first_letter
        from Application\Models\Exercise e
        group by first_letter
        order by first_letter asc

Aber es wird eine Ausnahme mit der Meldung ausgelöst:

Error: 'first_letter' does not point to a Class. 

Wenn ich das @ weglasgroup by und dieorder by, Es klappt

Muss ich in diesem Fall eine systemeigene Abfrage verwenden oder muss ich die Sortierung und Gruppierung in meinem Client-Code durchführen (wahrscheinlich keine so gute Idee, abhängig von der Datenmenge in der Datenbank ...) oder ist es möglich, diese Abfrage zu erhalten Arbeiten

Vielen Dank

BEARBEITEN

Dies ist mein aktueller Ansatz, nicht so schön, funktioniert aber im Moment, da nicht viele Daten in der Datenbank sind:

    $tmpResult = $this->getEntityManager()->createQuery('
        select upper(substring(e.name, 1, 1)) first_letter
        from Application\Models\Exercise e
    ')->getResult();

    $groupedAndSortedResult = array();

    foreach($tmpResult as $row) {
        $groupedAndSortedResult[$row['first_letter']] = $row['first_letter'];
    }

    sort($groupedAndSortedResult);

    return array_values($groupedAndSortedResult);

Antworten auf die Frage(6)

Ihre Antwort auf die Frage