Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Есть таблица 'services' с перечнем услуг, таблица 'researches' с перечнем исследований и таблица 'researches_services' в которой приводится сопоставление id исследований к id услуги. Так же есть таблица направлений 'referrals' и таблица 'referrals_researches' с сопоставлением направлений и исследований. Дело в том, что в направлениях требуется сделать вывод таким образом, что если имеется такой же набор исследований, идентичный набору исследований для услуги, то выводится наименование услуги из services, если сопоставление не найдено - тогда вывести список исследований. Делаю я это следующим образом:
@foreach($referrals as $referral)
<tr>
<td style="text-align: center; white-space: pre-wrap;">{{$referral->id}}</td>
<td style="text-align: center; white-space: pre-wrap;">{{$referral->surname}} {{mb_substr($referral->name, 0, 1)}}. {{mb_substr($referral->patronymic, 0, 1)}}.</td>
<td style="text-align: center; white-space: pre-wrap;">{{$referral->created_at}}</td>
@for($i = 0; $i<count($services); $i++)
@if(($referral->researches->pluck('title')->join(', ')) == ($services[$i]->researches->pluck('title')->join(', ')))
<td>{{$services[$i]->title}}</td>
@else
<td>{{$referral->researches->pluck('title')->join(', ')}}</td>
@endif
@endfor
<td style="text-align: center; white-space: pre-wrap;">{{$referral->researches->sum('price')}} ₽</td>
<td style="text-align: center; white-space: pre-wrap;">{{$referral->user->surname}} {{mb_substr($referral->user->name, 0, 1)}}. {{mb_substr($referral->user->patronymic, 0, 1)}}.</td>
<td style="text-align: center;"><a href="{{route('referrals.show', $referral->id)}}" class="text-muted"><i class="fas fa-search"></i></a></td>
<tr>
@endforeach
Но при таком виде происходит дублирование(?) циклов и слетает верстка. Буду признателен за помощь, как всё это сделать правильно?)
Для наглядности, как вышеуказанный код отрабатывает: