Пустой массив не отображается как пустой в Laravel blade

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

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

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

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

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

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
0
724
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Похоже, у вас есть коллекция. Вы можете просто выполнить 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.

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

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

@forelse($array as $value)
    {{ $value }}
@empty
    array is empty
@endforelse

Спасибо, но мне нужно было скрыть весь раздел, когда не было контента.

Carl. W 25.10.2018 10:48

Другие вопросы по теме