2013-02-26 50 views

回答

5

编辑:默认情况下这是不可能的。从存储库取出实体由所提供的排序标准提取:

$entities = $entityRepository->findBy(array(), array('field' => 'ASC')); 

此,DQLCriteria API是获取与给定的排序标准实体的当前方法。

Default sort attribute for Doctrine Model”关于什么问题是集合值关联的排序,这与直接从存储库获取实体无关。

对于那些协会,“Default sort attribute for Doctrine Model”的注释的当量以下的(原来的答复):

作为official annotations documentation for Doctrine 2 ORM的,注释收集值的关联@OrderBy({"field" = "ASC", "otherField" = "DESC"})的默认分类条件。

这里是你将如何使用它:

/** 
* @ORM\OneToMany(targetEntity="Users") 
* @ORM\OrderBy({"username" = "ASC"}) 
*/ 
protected $users; 
+0

感谢您的答复,但我的问题明确地说:“不只是一个关系协会,但整个模型”。我提到的链接也很清楚。 – 2013-02-26 14:31:27

+0

@obobdope不受ORM支持。如果你想获得一个特定的排序,使用'$ repository-> findBy(array(),array('username'=>'ASC'))''。注释和映射仅对关联进行排序。你问的链接问题的等价物:这个答案是相同的。 – Ocramius 2013-02-26 14:34:58

+0

@bobdope更新了我的回答 – Ocramius 2013-02-26 14:44:58