определенном условии элементы были первыми?
Т.е. есть массив:
@foreach ($parts as $part)
{{ $part->name }}
@if($part->stock)
В наличии
@endif
@endforeach
Получается выводится вот так:
- товар
- товар
- товар в наличии
- товар
А я хочу чтобы товары в наличии были первыми. Т.е.:
- товар в наличии.
- товар.
- товар.
- товар.
а почему не отсортировать массив до того как в блэйд отправить?
Есть заморочка в том Что во время foreach в blade проверяется наличие товара по прайсу из другой таблицы БД
т.е. Что то вроде @foreach // запрос в БД к прайсу по ID товара if ($price != null) в наличии @endif @endforeach
и что это за костыль? фронт не должен обрабатывать данные а только выводить, и уж тем более обращаться к бд
если в вашем коде есть потребность обратится к бд из фронта то это точно не правильный код. стройте коллекцию полностью в контроллере/сервисе/репозитории в зависимости от того как построена архитектура прилодения и отправляйте в блэйд нормальную готовую коллекцию
судя по вопросу, есть предположение что вам стоит побольше почитать про отношения и как они устроены в ларе
Выкидывай всю логику из блейдов в контроллеры, особенно базу. И вместо такого, как ты написал, напиши сортировку коллекции со всеми нужными тебе вызовами и собери свою коллекцию уже. И да, почитай про отношения
Обсуждают сегодня