2011-08-19 9 views

Odpowiedz

57

można również zostawić pierwszy tablicę pustą

$em->getRepository('BackendDestinyBundle:Destiny')->findBy(array(), array('title'=>'asc')); 
+0

Ok mój zły, nie płacz proszę tylko próbuję pomóc – Aaron

+0

@Aaron Nice hack, pracował dla mnie też. – krishna

+1

Dziękuję. Tego właśnie chciałem. Szybki, prosty i działa na poczęstunek. – dnshio

6

Według Jon płacy należy utworzyć kwerendę w tym przypadku ... Znaleziono w mailing-list

+0

Ya Pomyślałem, że może być jedynym rozwiązaniem, po prostu nie był pewien. Dzięki –

13

można w rzeczywistości określić domyślny zamówienie w schemacie:

Foo: 
    columns: 
    ... 
    options: 
    orderBy: bar DESC 

Pamiętaj, że jeśli chcesz określić inny porządek, nadal można utworzyć kwerendę i zastąpić d kolejność wg.

+0

Nie wiedziałem tego. To bardzo pomocne. Dzięki –

+1

nie jest to tylko dla relacji? – Flask

+1

Nie działa również dla modeli, ale w rzeczywistości można użyć tej sztuczki również w relacjach. – Gerry

1

W moim przypadku problemem było to, że miałem oświadczenie jak ten

$destinos = $em->getRepository('BackendDestinyBundle:Destiny')->findAll(); 

finaly I zmienił go do oświadczenia CreateQuery, robi dokładnie to samo, ale mogę umieścić zdanie OrderBy

$destinos = $em->createQuery("SELECT d FROM BackendDestinyBundle:Destiny d order by d.name")->getResult(); 
+2

Mówisz tutaj o Doktrynie 2, a przy okazji, nie jest to dobry sposób na użycie Doctrine. Należy budować kwerendę bez pisania kodu sql ... Tracisz wszystkie korzyści z ORM tutaj ... – j0k

+9

Właściwie używa ORM całkiem dobrze, ponieważ jest to DQL, a nie SQL. –

Powiązane problemy