带注释的学说模型的默认排序

bob*_*ope 4 annotations doctrine-orm

Doctrine模型默认排序属性中,.yml建议使用a定义集合值关联的默认排序.

我想通过默认排序获取我的模型,如下所示:

Foo:
    columns:
    ...
    options:
        orderBy: bar DESC
Run Code Online (Sandbox Code Playgroud)

这个基于YAML的设置的注释等价物是什么?

Ocr*_*ius 7

编辑:默认情况下无法执行此操作.从存储库获取的实体由提供的排序标准提取:

$entities = $entityRepository->findBy(array(), array('field' => 'ASC'));
Run Code Online (Sandbox Code Playgroud)

这个,DQLCriteria API是获取具有给定排序标准的实体的当前方式.

" Doctrine Model的默认排序属性 "的问题是对集合值关联的排序,这与从存储库直接获取实体无关.

对于这些关联,注释等效于" Doctrine Model的默认排序属性 "如下(原始答案):

截至Doctrine 2 ORM官方注释文档,集合值关联的默认排序条件的注释@OrderBy({"field" = "ASC", "otherField" = "DESC"}).

以下是您将如何使用它:

/**
 * @ORM\OneToMany(targetEntity="Users")
 * @ORM\OrderBy({"username" = "ASC"})
 */
protected $users;
Run Code Online (Sandbox Code Playgroud)