2011-08-19 12 views

Trả lời

57

Bạn cũng có thể để lại các mảng đầu trống

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

Ok, tệ quá, đừng khóc, hãy cố gắng giúp đỡ – Aaron

+0

@Aaron Đẹp hack, cũng làm việc cho tôi. – krishna

+1

Cảm ơn bạn. Đây là những gì tôi muốn. Nhanh chóng, đơn giản và làm việc một điều trị. – dnshio

6

Theo Jon lương bạn nên tạo một truy vấn trong trường hợp này ... Tìm thấy trong mailing-list

+0

Ya I figured rằng có thể là giải pháp duy nhất, chỉ là không chắc chắn. Cảm ơn –

13

bạn có thể trên thực tế chỉ định một thứ tự mặc định bởi trong schema của bạn:

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

Lưu ý rằng khi bạn muốn chỉ định một trật tự khác nhau, bạn vẫn có thể tạo ra một truy vấn và ghi đè lên các d đặt hàng qua efault.

+0

Bạn không biết điều đó. Điều đó rất hữu ích. Cảm ơn –

+1

isnt này chỉ dành cho quan hệ? – Flask

+1

Nope nó hoạt động cho các mô hình quá, nhưng thực sự bạn có thể sử dụng lừa này trên quan hệ là tốt. – Gerry

1

Trong trường hợp của tôi, vấn đề là tôi đã có một tuyên bố như thế này

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

cuối cùng tôi thay đổi nó vào một tuyên bố CreateQuery, nó không hoàn toàn giống nhau, nhưng tôi có thể đặt một câu OrderBy

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

Bạn đang nói về Doctrine 2 ở đây, và bằng cách này, đây không phải là cách hay để sử dụng Doctrine. Nên xây dựng một truy vấn mà không cần viết mã sql ... Bạn đang mất tất cả lợi thế từ ORM ở đây ... – j0k

+9

Thực ra anh ta sử dụng ORM khá tốt ở đây vì nó là DQL, chứ không phải SQL. –

Các vấn đề liên quan