Пустой массив не отображается как пустой в клинке Laravel - PullRequest
0 голосов
/ 25 октября 2018

Прямо сейчас я пытаюсь проверить, когда представление получает пустой массив.

@if(! empty($array))
    // Section content goes here...

    @foreach($array as $value)
        // All table data goes here... 
    @endforeach
@endif

Кажется, что код, как указано выше, все еще выполняется, когда $array пусто и вызывает исключение.

Когда я пытаюсь сбросить массив с {{ dd($array) }}, я получаю $array = [].

Ответы [ 2 ]

0 голосов
/ 25 октября 2018

Возможно ли, что ваш массив является коллекцией ?

Попробуйте использовать @forelse, это проверит, является ли массив или коллекция пустым, и отобразит другойблок вместо.Например:

@forelse($array as $value)
    {{ $value }}
@empty
    array is empty
@endforelse
0 голосов
/ 25 октября 2018

Звучит так, как будто у вас есть коллекция.Вы можете просто сделать count($array), чтобы проверить количество записей в массиве.Это будет выглядеть примерно так:

@if(count($array))
    // Section content goes here...

    @foreach($array as $value)
        // All table data goes here... 
    @endforeach
@endif

Теперь раздел должен быть скрыт.Если вы хотите пропустить foreach только тогда, когда в массиве ничего нет, вы можете сделать это:

// Section content goes here...

@forelse($array as $value)
    // All table data goes here...
@empty
    // Optional message if it's empty
@endforelse

, который выведет содержимое раздела и проверит, есть ли в массиве какие-либо значения перед ним foreach.

Подробнее о циклах в блейд-файлах можно прочитать в документации Laravel .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...