令A,B,C为关联实体。我的目标是A->getBs()
返回B
由两个属性ordered组成的集合:B.createdAt
和B.C.displayOrder
。
第一次工作正常,第二次却没有:我已经尝试过了"c.displayOrder" = "asc"
,但这没有成功(Unrecognized field: c.displayOrder
)。
是否可以通过其他关联实体的属性进行订购?
我可以想象的另一个选项是重写该函数getBs()
,但是我不知道如何在其中创建自定义DQL查询来满足我的特殊需要。我读过在实体内部使用EntityManager是不好的做法。
A
/**
* @ORM\OneToMany(targetEntity="B", mappedBy="a")
* @ORM\OrderBy({"createdAt" = "asc", "c.displayOrder" = "asc"})
*/
-id
-getBs()
B
/**
* @ORM\ManyToOne(targetEntity="A")
* @ORM\JoinColumn(referencedColumnName="id")
*/
/**
* @ORM\ManyToOne(targetEntity="C")
* @ORM\JoinColumn(referencedColumnName="id")
*/
-id
-createdAt
C
-id
-description
-displayOrder
使用主义/规范v2.4.5,symfony-standard-edition 2.3.20
看一下下面问题中描述的这5个解决方案:
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句