Symfony -- 对 oneToMany 关系中的子记录进行排序
Posted
技术标签:
【中文标题】Symfony -- 对 oneToMany 关系中的子记录进行排序【英文标题】:Symfony -- Sort child records in oneToMany relation 【发布时间】:2014-03-04 06:12:00 【问题描述】:我有这个实体路径条目。 我想在另一个字段上对实体列表 trplist 进行排序,但默认情况下,排序是在 id 上完成的。
我需要进行哪些配置更改?
单对多: 列表: 目标实体:TravelRoutePoints mappedBy: 路线 级联:[“坚持”,“删除”] 加入列: 姓名:身份证 引用的列名:tr_id
【问题讨论】:
【参考方案1】:我猜你正在寻找 dosrine OrderBy 注释:
/**
* @ManyToMany(targetEntity="Group")
* @OrderBy("name" = "ASC")
*/
private $groups;
参见文档:http://docs.doctrine-project.org/en/latest/reference/annotations-reference.html#orderby
所以,你的 yaml 格式的关系应该是这样的:
oneToMany:
trplist:
targetEntity: TravelRoutePoints
mappedBy: route
cascade: ["persist", "remove"]
joinColumn:
name: id
referencedColumnName: tr_id
orderBy:
anotherFieldName: DESC
【讨论】:
我使用yml进行配置,order by there的语法是什么?以上是关于Symfony -- 对 oneToMany 关系中的子记录进行排序的主要内容,如果未能解决你的问题,请参考以下文章
Symfony 5,Doctrine queryBuilder OneToMany 关系
Symfony 3 - Doctrine 2 - 在 oneToMany 关系上的 orderBy 不起作用
Doctrine symfony使用OneToMany删除实体 - ManyToOne关系
Symfony / Doctrine:OneToMany插入导致null id