laravel foreach返回多数组

时间:2018-11-14 18:55:37

标签: php laravel loops laravel-5 foreach

当不同的$ Tag时,我的foreach返回不同的数组 我需要My Foreach以1个数组形式返回所有任务,而不是多任务,因为我无法正确对其进行排序

@foreach ($Paths->pathtags as $Tag)
   {{ $Tag->name }}
     @foreach ($Tag->Tasks as $Task)

       {{ $Task->id   }}
       {{ $Task->name }}
     @endforeach
@endforeach

在示例

标签名称:Tag1,Tag2
任务:id 11
任务名称:任务编号1
...................................................

标签名称:Tag4,Tag6
任务:id 7
任务名称:任务编号2

........ 标签名称:Tag4,Tag6
任务:id 8
任务名称:任务编号3

因此,如果标签不同,则无法仅对具有相同标签的任务进行排序 可以排序

1 个答案:

答案 0 :(得分:0)

我认为您正在尝试扁平化Tasks关系。 您可以在模型中覆盖toArray函数,以便在控制器中设置返回值的格式:

在您的控制器中:

$results = YourModel::with('Tasks')->get() $Paths = $results->toArray();

在您的模型中

public function toArray() { return [ ... 'taskId' => $this->Tasks->id, 'taskName' => $this->Tasks->name, ]; }