我有3张桌子:reports
, fields
and report_fields
这是其他 2 之间的枢轴。我需要做的是订购report_field.field
按职位column
in the field
table.
我尝试在关系中排序Models
或使用时with
但我可能做错了。
前任:
$query = Report::with([ 'reportFields.field' => function ($q) {
$q->orderBy('position', 'asc');
//$q->orderByRaw("fields.position DESC");
},
有人可以给出一个排序 2 级嵌套关系的基本示例吗?
编辑:我不需要按基表中的任何列进行排序,而是需要按第二个表中的列对数据透视表中的条目列表进行排序。
Edit2:
举一个如何对输出进行排序的示例:
Report
ReportField
Field.position = 1
ReportField
Field.position = 2
ReportField
Field.position = 3
您可以在第一个表的关系上添加所需的排序reports
:
public function reportFields()
{
return $this->hasMany(ReportFields::class)
->select('report_fields.*')
->join('fields', 'report_fields.field_id', 'fields.id')
->orderBy('fields.position', 'asc');
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)