Ларавель: Странный Неожиданный «конец»

#php #laravel

Вопрос:

Я пытаюсь загрузить некоторые данные из БД в свое представление, и я закодировал это:

 @forelse($wallets as $wallet)
    <td>{{ $wallet->title }}</td>
    <td>{{ $wallet->name }}</td>
    <td>
    @if(($wallet->is_active)==1)
        Active
    @else
        Deactive
    @endif
    </td>
    <td>
    @if(($wallet->is_cachable)==1)
        Cachable
    @else
        Un Cachable
    @endif
    </td>
@endforelse
 

Но я понимаю это:

синтаксическая ошибка, неожиданный ‘endif’ (T_ENDIF)

Однако, как вы можете видеть, я if правильно закрыл s, сказав: @endif

Так что же здесь происходит не так?

Комментарии:

1. Вам нужно @empty что-то среднее

Ответ №1:

Ваш синтаксис @forelse неверен.

Вам нужно разместить @empty где-то посередине, которое будет отображаться, когда $wallets будет пусто:

 @forelse($wallets as $wallet)

  <td>{{ $wallet->title }}</td>
  <td>{{ $wallet->name }}</td>
  <td>
    @if(($wallet->is_active)==1)
      Active
    @else
      Deactive
    @endif
  </td>
  <td>
    @if(($wallet->is_cachable)==1)
      Cachable
    @else
      Un Cachable
    @endif
 </td>

@empty    

  <p>No wallet data available</p>

@endforelse
 

Зацикливается на лезвии.