Минимум 3 элемента в foreach Laravel - PullRequest
0 голосов
/ 22 января 2020

У меня есть коллекция, где может быть максимум 3 элемента. Может быть 1 элемент, может быть 2 элемента. Если у меня есть только 1 элемент или 2 элемента в коллекции, мне нужно проверить его и добавить html.

Мой код:

@foreach($collections->take(3)->get() as $collection)
    {{ $collection->name }}
    @if($collections->count() == 1)
       <div>empty</div>
    @endif
    @if($collections->count() == 2)
       <div>empty</div>
       <div>empty</div>
    @endif
@endforeach

Мне нужно получить такой результат:

Collection name
empty
empty

Или Если у меня в коллекции 2 элемента, мне нужно получить результат:

Collection name
Collection name
empty

Если у меня в коллекции 3 элемента, мне нужно получить:

Collection name
Collection name
Collection name

Как я может это сделать?

1 Ответ

1 голос
/ 23 января 2020

Я не вижу причины, по которой ваш текущий код не будет работать, но вы можете получить go при следующем подходе.

L oop через коллекцию, ограниченную 3, так как вы Затем, затем, выполните for l oop - если $collections->count() равно 2, то 3-2 = 1, так что вы получите 1 итерацию for-l oop. Если число равно 3 или выше, условие for l oop никогда не выполняется и ничего не печатается.

@foreach($collections->take(3)->get() as $collection)
    {{ $collection->name }}
@endforeach

@for ($i = 0; $i < 3 - $collections->count(); i++) 
     <div>empty</div>
@endfor
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...