#laravel #foreach
#laravel #foreach
Вопрос:
Я пытаюсь запустить цикл foreach, чтобы вернуть заголовок и цену. Но мне нужно, чтобы результаты отображались в разных полях, в одном есть фоновый img, в другом нет фонового img. Поля чередуются вниз по странице.
]3
Комментарии:
1. так в чем проблема? можете ли вы подробнее сформулировать свой вопрос?
2. Я знаю, как запускать цикл foreach, но не для двух полей с разным стилем
3. пишу код, и я конвертирую его для того, чтобы не использовать изображение
4. создайте
boolean
внеforeach
, затем внутриforeach
цикла загрузите содержимое, проверяя это условноboolean
, и просто установите для него обратное значение в конце с помощью$boolean = !$boolean
Ответ №1:
Я предполагаю, что вы имеете в виду динамическое добавление класса card-w-bg
к вашим картам.
Решение 1. Добавьте background
логическое значение к вашей карточке и используйте его для определения.
@foreach($cards as $card)
<div class="col-4">
<div class="card x-auto @if($card->background) card-w-bg @endif">
{{ $card->title }}
{{ $card->description }}
</div>
</div>
@endforeach
Решение 2: В вашем случае кажется, что фон отображается при нечетном количестве ваших карточек. Используйте переменную цикла.
<div class="@if($loop->odd) card-w-bg @endif">
Однако это $loop->even
работает только в Laravel 5.8. Используйте @if($loop->iteration % 2)
вместо этого, если ниже Laravel 5.8
Комментарии:
1. Это действительно хороший подход. Не знал о
$loop
переменной.2. Спасибо Cloud Soh… Я использовал <div class=»@if ($ loop-> odd) card-w-bg @endif»>, работает отлично, приветствую
Ответ №2:
Вы пробовали это? http://image.intervention.io/api/text
Подсказка: вы можете зафиксировать размер изображения и выполнить математические вычисления, чтобы задать текст X, Y для наложения текста.