在Doctrine Model的默认排序属性中有问题,.yml
建议为集合值关联定义默认排序。
我希望通过默认排序获取我的模型,如下所示:
Foo:
columns:
...
options:
orderBy: bar DESC
这个基于 YAML 的设置的注解等价物是什么?
在Doctrine Model的默认排序属性中有问题,.yml
建议为集合值关联定义默认排序。
我希望通过默认排序获取我的模型,如下所示:
Foo:
columns:
...
options:
orderBy: bar DESC
这个基于 YAML 的设置的注解等价物是什么?
编辑:默认情况下这是不可能的。从存储库中获取的实体是通过提供的排序标准获取的:
$entities = $entityRepository->findBy(array(), array('field' => 'ASC'));
这,DQL和Criteria API是当前获取具有给定排序标准的实体的方法。
“ Doctrine Model 的默认排序属性”中的问题是关于集合值关联的排序,这与直接从存储库中获取实体无关。
对于这些关联,“ Doctrine Model 的默认排序属性”的注释等效项如下(原始答案):
在 Doctrine 2 ORM 的官方注释文档中,集合值关联的默认排序条件的注释@OrderBy({"field" = "ASC", "otherField" = "DESC"})
。
以下是您将如何使用它:
/**
* @ORM\OneToMany(targetEntity="Users")
* @ORM\OrderBy({"username" = "ASC"})
*/
protected $users;