laravel foreach return Мульти-массивы - PullRequest
0 голосов
/ 14 ноября 2018

Мой foreach возвращает другой массив, когда есть другой $ Tag. Мне нужен 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 голосов
/ 14 ноября 2018

Я думаю, что вы пытаетесь сгладить отношения Задачи. Вы можете переопределить функцию toArray в вашей модели, чтобы отформатировать возвращаемое значение в вашем контроллере:

В вашем контроллере:

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

В вашей модели

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...