【发布时间】:2019-01-24 06:46:29
【问题描述】:
我的关系链如下:- 一个项目hasMany 目标每个目标hasMany 结果和每个结果hasMany 输出然后每个输出belongsTo ir_indicator 和每个ir_idicator belongsTo ir 和每个ir @987654326 @做。
我需要获取所有项目 groupBy 的名称,以便更仔细地了解我所使用的项目,结帐
$ProjectsGroupedByDO = Project::has('objectives.outcomes.outputs.ir_indicator.ir.do')
->orderBy('created_at','desc')
->get()
->groupBy(function($d) {
return $d->objectives->outcomes->outputs->ir_indicator->ir->do->name;
}
);
问题在于 ->objectives 、 outcomes 、 outputs 都是数组,因为链接它们的 hasMany 关系
如何将我的项目与由数组层组成的远距离关系分组?
注意:我在 OctoberCMS 上构建它
【问题讨论】:
-
一个
project可以有多个dos:你想用哪一个来分组? -
@Jonas 我的想法是使用
DOname作为分组字段,例如 (DO 1) => ['project 1', 'project 2' ] , (DO 2) => ['project 3', 'project 4'] ... -
但是一个
project可以有多个dos,所以多个names。 -
是的,它可以在多个组下.. 例如 (DO 1) => ['project 1', 'project 2'] , (DO 2) => ['project 1', '项目 4'], (DO 3) => ['项目 3', '项目 2'] , (DO 4) => ['项目 3', '项目 4']
标签: laravel eloquent octobercms laravel-query-builder