Вы можете использовать chunk()
в коллекции вместо take()
и передавать желаемое количество предметов в каждом чанке
@foreach($alsoBought->chunk(3) as $three)
<div class="carousel-item @if ($loop->first) active @endif">
<div class="row">
@foreach($three as $bought)
<div class="col-4"><img class="w-100" src="{{ $bought['image'] }}" alt="First slide"></div>
@endforeach
</div>
</div>
@endforeach
Из документов
Метод chunk
разбивает коллекцию на несколько меньших коллекций заданного размера:
$collection = collect([1, 2, 3, 4, 5, 6, 7]);
$chunks = $collection->chunk(4);
$chunks->toArray();
// [[1, 2, 3, 4], [5, 6, 7]]
Надеюсь, это поможет