@kibo-13

Группировка одинаковых записей в представлении (шаблоне)?

Всем доброго времени суток.
Подскажите, как можно сгруппировать повторяющиеся записи в колонке "Список адресов", чтобы записи выводились в формате: Улица д.1, д.2 и т д???

5ed93b1f6c446272510055.jpeg
// контроллер 
public function index()
{   
   $plots = Plot::get();
   return view('pages.plots.index', compact('plots'));
}
 
// вывод записей в шаблоне:
<thead class="thead-light">
 <tr>
  <th scope="col">#</th>
  <th scope="col">Участок</th>
  <th scope="col">Список адресов</th>
 </tr>
</thead>
<tbody>
 @foreach($plots as $id => $plot)
 <tr>
  <td>{{ $id+=1 }}</td>
  <td>{{ $plot->branch->name }}</td>
  <td>
   @foreach($plot->addresses as $address)
     {{ $address->street->name }} 
     {{ $address->num_home }}, 
   @endforeach
  </td>
  @endforeach
</tbody>
  • Вопрос задан
  • 69 просмотров
Пригласить эксперта
Ответы на вопрос 1
@kibo-13 Автор вопроса
Получил необходимый результат, исправив цикл в представлении:
@foreach($streets as $street) 
  @if($plot->addresses->where('street_id', $street->id)->count())
    {{ $street->name }}
  @endif

  @foreach($plot->addresses as $address) 
    @if($street->id == $address->street_id)
      д.{{ $address->num_home }}, 
    @endif
    
  @endforeach

  @if($plot->addresses->where('street_id', $street->id)->count())
    <br>
  @endif

@endforeach


5ed9d8f1c43d1081349979.jpeg
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы