Ben bu Doktrini sorgu var:
select upper(substring(e.name, 1, 1)) first_letter
from Application\Models\Exercise e
group by first_letter
order by first_letter asc
Ama bir mesajla istisna atar:
Error: 'first_letter' does not point to a Class.
Ben group by dışarı çıkmak ve order by, çalışır.
Ben bu durumda bir yerel sorgu kullanabilirsiniz veya sıralama ve müvekkilim kod gruplama (db veri miktarına bağlı olarak muhtemelen böyle iyi bir fikir ...) yapmak ya da bu sorgu çalışma almak mümkün zorunda ?
Teşekkürler!
EDIT:
Bu kadar güzel değil, benim geçerli bir yaklaşım, ama db fazla veri yok gibi şu an için çalışır:
$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);