Laravel 5.3 foreach 2 коллекции из 2 разных моделей - PullRequest
0 голосов
/ 03 июля 2018

View

@foreach ($duplicates as $duplicate)
  <tr>
     <td style="text-align: center;">{{ $duplicate->topic->id }}</td>
     <td style="text-align: center;">{{ $duplicate->topic->title }}</td>
     <td style="text-align: center;">{{ $duplicate->total }}</td>
     @foreach($choices as $choice)
     <td style="text-align: center;">{{ $choice->question_number }}</td>
     <td><a class="btn btn-default" href="choices/{{ $choice->id }}/edit">Шинэчлэх</a></td>
     @endforeach
  </tr>
@endforeach

Я хочу получить результат как

@foreach ($duplicates as $duplicate)
   <tr>
      <td style="text-align: center;">{{ $duplicate->topic->id }}</td>
      <td style="text-align: center;">{{ $duplicate->topic->title }}</td>
      <td style="text-align: center;">{{ $duplicate->total }}</td>
      <td style="text-align: center;">{{ $choice->question_number }}</td>
      <td><a class="btn btn-default" href="choices/{{ $choice->id }}/edit">Шинэчлэх</a></td>
   </tr>
@endforeach

Я хочу получить результат типа @foreach (дубликаты как $ duplicate, $ choices как $ choice) this. но я знаю, что получу ошибку. но как?

Ответы [ 2 ]

0 голосов
/ 03 июля 2018

вы пробовали использовать Eloquent: Relationships? У меня нет компьютера прямо здесь, поэтому я не привел пример для проверки этого, но я надеюсь, что это будет полезно.

Документы по красноречивым отношениям

0 голосов
/ 03 июля 2018

Вы можете попробовать

@foreach (array_combine($duplicates->toArray(), $choices->toArray()) as $duplicate => $choice){
    // Do some stuff
@endforeach

Если синтаксис блейда Laravel не позволяет этого, вы всегда можете сгенерировать html в чистом PHP и отказаться от синтаксиса блейда. Все это предполагает, что $ duplicates и $ choices являются объектами запроса, которые из вашего кода кажутся.

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