Laravel выдает мне ошибку неопределенной переменной для другой страницы?

#php #laravel #blade

#php #laravel #laravel-blade

Вопрос:

итак, у меня проблема с проектом laravel, и для меня не имеет смысла, почему это происходит, так что, возможно, кто-то там испытал это.

На моей домашней странице я загружаю частичную, мы назовем это: _homeContent.blade.php . В контроллере для домашней страницы я проверяю API, собираю данные и возвращаю их на домашнюю страницу в качестве $quotes переменной.

Итак:

 return view('home', compact('quotes'));
  

На мой взгляд, у меня есть цикл:

 @foreach($quotes as $quote)
    I do my loop things here.
@endforeach
  

Итак, все работает нормально, никаких проблем, данные поступают так, как я ожидаю. Далее по странице у меня есть ссылка на другую страницу. Просто стандартный a href=»/ my-about-page», например. Когда я нажимаю на нее, я получаю сообщение об ошибке, в котором говорится:

Неопределенная переменная: кавычки (Просмотр: /my/path/here/_homeContent.blade.php )

Вопрос в том, почему я получаю эту ошибку на своей странице about, сообщая мне, что на _homeContent.blade.php есть неопределенная переменная. Я только что был на домашней странице, и это сработало, я покидаю страницу, и она прерывает следующую страницу.

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

1. Вы пытаетесь использовать $quotes переменную на следующей странице, а переменная не существует. Отсюда ошибка с надписью «неопределенная переменная». Переменная не была определена на этой странице до того, как вы ее использовали. Возможно, это было определено на другой странице, но каждый запрос имеет свой собственный набор переменных. Они не разделяют.

2. Оберните foreach вокруг if(isset($ quotes)) endif

3. Пожалуйста, покажите свой файл макета, возможно, вы используете один и тот же макет для обеих страниц и хотите получить доступ к $quotes, но он не определен.