Я пытаюсь опубликовать данные из контроллера для просмотра, в основном, когда страница загружается, пользователь видит форму, и когда она отправляется, она возвращает данные. Я не уверен, что я делаю неправильно. Я пробовал следующее, чтобы вернуть данные
Методы возврата пробовали:
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
Попробуйте Route::get('/','Controller@getStatus');
вместо этого
@bassxzero не работает с той же ошибкой
как выглядит $all_data
?
Моя первая мысль заключается в том, что вы посещаете маршрут /, в котором нет переменной all_data. чтобы исправить это, просто вызовите контроллер из этого маршрута: Route::get('/', 'GetApplicationStatusController@getStatus')
не работает выдает ту же ошибку
Передать 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
ошибка получения Попытка получить свойство не-объекта
вставьте сюда запрос на получение данных
Я получаю данные, как я и ожидал, проблема заключается в отправке их на просмотр
Я обновил свое изменение кода в файле представления, как указано выше.
попробуйте это: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
удалите json_encode
, представление ожидает массив, а не json
если я удаляю это, это дает ошибку: Попытка получить свойство не-объекта
Маршрут get, который вы определили, проходит в обход вашего контроллера.