เมื่อใช้วัตถุ Doctrine_Table
เป็นไปได้หรือไม่ที่จะระบุลำดับของคอลเลกชันที่ส่งคืนเมื่อใช้ findAll()
หรือ findByWhatever()
ในเอกสาร ฉันเห็นบางอย่างเกี่ยวกับ getOrderByStatement()
และ processOrderBy()
แต่ไม่ใช่ ชัดเจนถึงวิธีใช้...
เมื่อใช้วัตถุ Doctrine_Table
เป็นไปได้หรือไม่ที่จะระบุลำดับของคอลเลกชันที่ส่งคืนเมื่อใช้ findAll()
หรือ findByWhatever()
ในเอกสาร ฉันเห็นบางอย่างเกี่ยวกับ getOrderByStatement()
และ processOrderBy()
แต่ไม่ใช่ ชัดเจนถึงวิธีใช้...
คุณยังสามารถปล่อยอาร์เรย์แรกว่างไว้ได้
$em->getRepository('BackendDestinyBundle:Destiny')->findBy(array(), array('title'=>'asc'));
findAll()
คือการเรียกเช่นนี้ findBy(array())
นี่คือ ซอร์สโค้ด
- person Mateo Torres; 28.09.2013
public function findAll() { return $this->findBy(array(), array('name' => 'ASC')); }
หากต้องการเขียนทับคำสั่ง findAll ที่ส่งคืนอย่างรวดเร็วสำหรับการส่งคืนแบบฟอร์มของเอนทิตี
- person Scott Flack; 25.10.2013
ที่จริงแล้วคุณสามารถระบุลำดับเริ่มต้นได้ในสคีมาของคุณ:
Foo:
columns:
...
options:
orderBy: bar DESC
โปรดทราบว่าเมื่อคุณต้องการระบุลำดับอื่น คุณยังคงสามารถสร้างแบบสอบถามและแทนที่ลำดับเริ่มต้นได้
ตามที่ Jon Wage คุณควรสร้างแบบสอบถามในกรณีนี้... พบได้ใน mailing- รายการ
ในกรณีของฉัน ปัญหาคือฉันมีข้อความแบบนี้
$destinos = $em->getRepository('BackendDestinyBundle:Destiny')->findAll();
ในที่สุดฉันก็เปลี่ยนเป็นคำสั่ง CreateQuery มันก็เหมือนกันทุกประการ แต่ฉันสามารถใส่ประโยค OrderBy ได้
$destinos = $em->createQuery("SELECT d FROM BackendDestinyBundle:Destiny d order by d.name")->getResult();