Неопределенная переменная: all_data (Просмотр: /var/www/html/resources/views/welcome.blade.php)

Я пытаюсь опубликовать данные из контроллера для просмотра, в основном, когда страница загружается, пользователь видит форму, и когда она отправляется, она возвращает данные. Я не уверен, что я делаю неправильно. Я пробовал следующее, чтобы вернуть данные

Методы возврата пробовали:

return view('welcome',['all_data'=>$all_data]);
return view('welcome')->with('all_data', $all_data);
return view('welcome')->with('data', json_decode($data, true));
return View::make('welcome', array('all_data'=>$all_data));

Контроллер:

public function getStatus(Request $request){

//SQLQuery which returns $all_data

$all_data = json_encode($data);
return view('welcome', compact('all_data'));
}

Маршрут:

Route::get('/', function () {
    return view('welcome');
});

Route::post('/getstatus', 'GetApplicationStatusController@getStatus');

Вид:

@foreach ($all_data as $data)
<td id = "appid">{{$data->appid}}</td>
<td id = "firstname">{{$data->firstname}}</td>
<td id = "middlename">{{$data->middlename}}</td>
<td id = "lastname">{{$data->lastname}}</td>
<td id = "action">{{$data->action}}</td>
@endforeach

Маршрут get, который вы определили, проходит в обход вашего контроллера.

bassxzero 28.05.2019 19:57

Попробуйте Route::get('/','Controller@getStatus'); вместо этого

bassxzero 28.05.2019 19:58

@bassxzero не работает с той же ошибкой

JKLM 28.05.2019 20:21

как выглядит $all_data?

Michael Nguyen 28.05.2019 20:32
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать 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
4
1 701
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Моя первая мысль заключается в том, что вы посещаете маршрут /, в котором нет переменной all_data. чтобы исправить это, просто вызовите контроллер из этого маршрута: Route::get('/', 'GetApplicationStatusController@getStatus')

не работает выдает ту же ошибку

JKLM 28.05.2019 20:08
Ответ принят как подходящий

Передать all_data без json_encode для foreach

public function getStatus(Request $request){

    //SQLQuery which returns $data
    $all_data = $data;
    return view('welcome', compact('all_data'));
}

С учетом:

@foreach ($all_data as $data)
   <td id = "appid">{{$data['appid']}}</td>
   <td id = "firstname">{{$data['firstname']}}</td>
   <td id = "middlename">{{$data['middlename']}}</td>
   <td id = "lastname">{{$data['lastname']}}</td>
   <td id = "action">{{$data['action']}}</td>
@endforeach

ошибка получения Попытка получить свойство не-объекта

JKLM 28.05.2019 20:30

вставьте сюда запрос на получение данных

Natvarsinh Parmar - bapu 28.05.2019 20:32

Я получаю данные, как я и ожидал, проблема заключается в отправке их на просмотр

JKLM 28.05.2019 20:34

Я обновил свое изменение кода в файле представления, как указано выше.

Natvarsinh Parmar - bapu 28.05.2019 20:38

попробуйте это:
return view('welcome')->with(compact('all_data'));

или это:
return view('welcome')->with(['all_data'=>$all_data])

ошибка получения: для foreach() указан неверный аргумент (View: /var/www/html/resources/views/welcome.blade.php) со вторым оператором return

JKLM 28.05.2019 20:49

удалите json_encode, представление ожидает массив, а не json

mcDoggyKiip 28.05.2019 20:53

если я удаляю это, это дает ошибку: Попытка получить свойство не-объекта

JKLM 28.05.2019 20:55

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