FOREACHУ меня есть 10 данных в БД, но я хочу напечатать только первые 3 данных с помощью foreach.
Также я попробовал и использовал метод array_slice(), но затем я получил несколько ошибок.
Спасибо!
@foreach($products as $_product)
//there is Html code... with variables
@foreach
Я пробовал: @foreach(array_slice($products, 0, 2) as $_product). и я получил:
array_slice() expects parameter 1 to be array, object given.






Вы можете использовать limit(3) в своем красноречии или take(3)
Или, если вам нужно сделать это в лезвии, используйте переменную $loop
Так
@if ($loop->iteration <=3)
@continue
Или в вашем контроллере
Product::limit(3)->get();
Product::take(3)->get();
Если вы используете его в контроллере, вам не нужно будет проверять вид вашего блейда.
Просто используйте @break; оператор, как только вы напечатаете столько, сколько хотите, - он выпрыгнет из цикла foreach.
так что-то быстро я могу думать об этом:
@foreach($products as $_product)
//there is Html code... with variables
@if ($loop->iteration == 3) //Thanks to the response of @MohammedAktaa
@break
@endif
@foreach
Хотя я думаю, что лучше ограничить результаты запроса базой данных.
Порядок, группировка, ограничение и смещение
Спасибо @MohammedAktaa. Я не знал о существовании переменной $loop.
ну ..
foreachэто разработан для итерации элемента каждый. но пробовали ли вы увеличивать счетчик и запускать цикл, если вы превысили свой лимит?