4

Doctrine Model的默认排序属性中有问题,.yml建议为集合值关联定义默认排序。

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

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

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

4

1 回答 1

10

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

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

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

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

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

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

以下是您将如何使用它:

/**
 * @ORM\OneToMany(targetEntity="Users")
 * @ORM\OrderBy({"username" = "ASC"})
 */
protected $users;
于 2013-02-26T12:40:42.723 回答