Laravel 5 после 3 сообщений показывается добавление

Привет, ребята, я объявил свои сообщения с переменной $lastItems

@if($lastItems->total() > 0)                   
  @foreach($lastItems as $item)
     @include('._posting.items')                                                  
  @endforeach                                    
@else
     @include('errors.emptycontent')
@endif

и я хочу добавить рекламу после каждого 3 сообщения, я использую что-то вроде этого

@if($lastItems->total() > 0)                   
  @foreach($lastItems as $item)
     @include('._posting.items')                                                  
  @endforeach  
 @if($item = 3)
    <img src="link" alt="ads">
 @endif                                  
@else
     @include('errors.emptycontent')
@endif

но проблема в том, что когда я пытаюсь так, реклама показывается после каждого поста, а не после 3 постов. Что я делаю неправильно?


person highcode    schedule 12.01.2016    source источник
comment
Я думаю, вы могли бы поближе взглянуть на @if($item = 3)   -  person Naruto    schedule 12.01.2016
comment
вы имеете в виду с = до == ?   -  person highcode    schedule 12.01.2016


Ответы (2)


Вы можете попробовать что-то вроде:

@if($lastItems->total() > 0)                   
  @foreach($lastItems as $key => $item)

     @include('._posting.items')

     @if (($key + 1) % 3 == 0)
         <img src="link" alt="ads">
     @endif                                                  
  @endforeach                                 
@else
     @include('errors.emptycontent')
@endif
person Mihai Matei    schedule 12.01.2016
comment
это сработало, но на 3 первых сообщениях он считается +1, поэтому я получаю его после 4-го сообщения, после этого все в порядке? - person highcode; 12.01.2016
comment
в этом случае, если $key начинается с 0, вы увидите первое добавление после четырех элементов. - person Luis González; 12.01.2016

У меня была почти такая же проблема, в моем случае мне пришлось изменить класс div. Итак, я использовал что-то вроде этого, и это помогло мне:

    <?php $var = -1; ?>
@foreach($lastItems as $item)
  <?php $var ++;?>
    @if($var%3 == 0 && $var!=0)
       @include('errors.emptycontent')
    else
        @include('._posting.items')
   @endif
@endforeach

Я надеюсь, что это помогает :)

person Alvin    schedule 12.01.2016