带注释的doctrine模型的默认排序

时间:2013-02-26 12:04:28

标签: annotations doctrine-orm

有问题Default sort attribute for Doctrine Model建议.yml定义集合值关联的默认排序。

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

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

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

1 个答案:

答案 0 :(得分:7)

编辑:默认设置无法执行此操作。从存储库中提取的实体由提供的排序标准提取:

$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;