Показать запись после x записей - PullRequest
0 голосов
/ 17 сентября 2018

У меня есть записи цикла цикла foreach в представлении. Как я могу потратить что-то после x записей?

@foreach($users as $user)
{{$user->name}}
@endforeach

Ответы [ 3 ]

0 голосов
/ 17 сентября 2018

Laravel имеет встроенную переменную цикла. Это может помочь вам. Смотрите это .

Вы можете использовать его так:

@foreach($users as $user)
    @if ($loop->count == 1)
        {{$user->name}}
    @endif    
@endforeach
0 голосов
/ 17 сентября 2018

Этот код будет тратить 10 миллисекунд на каждые x сущностей.Вы можете изменить время (10), как требуется:

{{$x=entities after which you want to spend sometimes;}}        
{{$n=0;}}
@foreach($users as $user)
{{$n++;}}
{{$user->name}}
@if($n == $x)
    {{sleep(10;)}}//here 10 means 10ms
    {{$n=0;}}
@endif
@endforeach

Этот код будет тратить 10 миллисекунд на первые x сущностей.Вы можете изменить время (10) по мере необходимости:

{{$x=entities after which you want to spend sometimes;}}    
{{$n=0;}}
@foreach($users as $user)
{{$n++;}}
{{$user->name}}
@if($n == $x)
    {{sleep(10;)}}//here 10 means 10ms
@endif
@endforeach
0 голосов
/ 17 сентября 2018

Если массив имеет числовой индекс, вы можете использовать его ключи:

@foreach($users as $index=>$user)
  @if($index < 10)
    {{$user->name}}
  @else
    {{/*Whatever*/}}
  @endif
@endforeach

В противном случае вы можете определить счетчик:

@php($counter=0)
@foreach($users as $user)
  @if($counter< 10)
    {{$user->name}}
  @else
    {{/*Whatever*/}}
  @endif
  @php($counter++)
@endforeach

Или, как сказал Ахсан, вы можетеиспользуйте переменную цикла Laravel:

@foreach($users as $index=>$user)
  @if($loop->index < 10)
    {{$user->name}}
  @else
    {{/*Whatever*/}}
  @endif
@endforeach

- EDIT -

Операция по модулю будет лучшим вариантом для вас!

$show = false;
@foreach($users as $index=>$user)
  // for each 9 entries $show value will be reversed
  @if($loop->index % 9 === 0)
    $show = !show;
  @endif
  @if($show)
    {{$user->name}}
  @else
    {{/*Whatever*/}}
  @endif
@endforeach
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...