Doctrine_Core :: getTable() - > findAll()如何指定顺序?

时间:2011-08-19 16:04:56

标签: php symfony1 doctrine

使用Doctrine_Table对象时,是否可以在使用findAll()findByWhatever()时指定返回的集合的顺序?

doc's我看到了getOrderByStatement()processOrderBy()的一些内容,但目前尚不清楚如何使用它们......

4 个答案:

答案 0 :(得分:58)

您也可以将第一个数组留空

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

答案 1 :(得分:13)

您实际上可以在架构中指定默认订单:

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

请注意,如果要指定其他订单,仍可以创建查询并覆盖默认订单。

答案 2 :(得分:6)

根据Jon Wage的说法,您应该在此案例中创建一个查询...在mailing-list

中找到

答案 3 :(得分:1)

在我的情况下,问题是我有这样的声明

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

最后我把它改成了CreateQuery语句,它完全相同,但我可以把一个OrderBy句子

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