我有一个带有ArrayCollection字段的实体。在注释中我可以写
@ORMOrderBy({"somefield" = "DESC"})
并且我从该实体获得的集合将被自动排序。
我的问题是,是否可以按聚合字段排序?
我当前的问题:我在集合实体中有两个字段:visited
和shown
,我想按评级索引对集合进行排序,该索引为:visited / shown
。我试着把它写在注释中,但它说它应该是一个有效的字段。我知道如何使用DQL实现这一点,但我不知道如何在带有注释的实体声明中重新创建它。
提前感谢!
我不太确定我是否理解你的问题。但是是什么
@ORM/OrderBy({"visited" = "DESC", "shown" = "DESC"})
结果是什么?
发件人http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/annotations-reference.html#annref-订购人:
OrderBy中的DQL代码段只允许由非限定、未加引号的字段名和可选的ASC/DESC位置语句组成。多个字段用逗号(,)分隔。引用的字段名称必须存在于@ManyToMany或@OneToMany注释的targetEntity类中。
您需要在ORDER BY语句中进行数学运算-在SQL中,它将是ORDER BY访问/显示的DESC。我认为这在注释中是不可能的。