проверка последней версии итерации цикла foreach при использовании условия if в цикле foreach - PullRequest
2 голосов
/ 27 сентября 2019

Как найти последний элемент в цикле foreach, если я использую @if внутри foreach, я хочу найти его, поэтому хочу удалить точку после последнего элемента, я хочу, чтобы эти точки отображались только между такими элементами, как: Привет .Помогите .Я знаю способ использования loop -> last, но он не работает, потому что @if условие показывает другой последний элемент, что означает, что если у нас есть 100 элементов, но когда мы используем, если он покажет, скажем, скажем, пункты 1, 42 и 63, такпоследний элемент здесь 63, но при использовании loop-> last будет показано, что последний элемент равен 100

Здесь, но то, что у меня есть, выглядит следующим образом: Здесь.

@foreach($cuisines as $cuisine)

    @if(($cuisine->id)==($scuitem->cuisine_id))
        {{ $cuisine->title }} •
    @endif 

@endforeach

Ответы [ 2 ]

2 голосов
/ 27 сентября 2019

Laravel на самом деле имеет переменную $loop с информацией о текущей итерации.

Например, $loop->last - логическое значение, указывающее, находимся ли мы на последней итерации.

@foreach($cuisines as $cuisine)
    @if(($cuisine->id)==($scuitem->cuisine_id))
        {{ $cuisine->title }}{{ $loop->last ? '' : ' •' }}
    @endif
@endforeach
1 голос
/ 27 сентября 2019

Вы можете использовать $ loop-> last:

@foreach($cuisines as $cuisine)
       @if(($cuisine->id)==($scuitem->cuisine_id))
          {{ $cuisine->title }} 
         @if(!($loop->last))
            •
         @endif
       @endif 
@endforeach

Отредактировано:

Теперь используйте этот код в Controller и передайте $str для просмотра

$arr = [];
foreach($cuisines as $cuisine){
  if(($cuisine->id)==($scuitem->cuisine_id)){
    $arr[] = $cuisine->title;
  }
}
$str = implode(' • ',$arr);

Или, если вы хотите, чтобы код в поле зрения, чем использовать, как показано ниже:

@php
  $arr = [];
  foreach($cuisines as $cuisine){
    if(($cuisine->id)==($scuitem->cuisine_id)){
      $arr[] = $cuisine->title;
    }
  }
  $str = implode(' • ',$arr);
@endphp
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...