使用 Laravel 框架在 PHP 中打印 JSON 响应
Printing JSON response in PHP using Laravel framework
我一直在开发一个从数据库收集数据并打印的网络应用程序。我正在使用 Laravel 框架。我在下面显示了代码使用。我可以直接在我的 PHP 代码中显示 JSON 响应,但是如果我尝试遍历 JSON 响应,我什么也得不到。
以下是我如何使用 Laravel Facades 库生成 JSON 对象:
$worklogs = Response::json($data, $this->getStatusCode(), $headers);
这是我用来将数据传递到 PHP 页面的代码:
return view('index')->with('worklogs', $worklogs);
我可以使用以下代码从 PHP 页面打印收集的数据:
{{ $worklogs }}
但是如果我尝试使用 foreach
循环遍历它,则会出现错误,如下所示:
在 PHP 页面中,我是这样编码的,但它不起作用:
我不确定我是否理解..
首先,这就是你如何 return a json:
return Response::json([
'hello' => $value
], $headers);
其次:迭代jSon是什么意思?
第三:您的错误消息指出未定义变量 $datas .. 而不是 $data、$datas。您是否将 $data 参数发送到视图?
首先也是最重要的,正如 Bogdan Bocioaca 在他的回答中所说的那样,您只需要 return Json 时才使用 Response::json
函数(主要用于 API,以便其他应用可以访问您的 json 数据)。例如,下面的代码将 return JSON 可能会被移动应用读取
$worklogs = WorkLog::all();
return Response::json([
'worklogs' => $worklogs
], $headers);
根据我对你问题的理解,你想将数据直接传递给视图,所以你的代码最好如下所示:
$worklogs = WorkLog::all();
return view('index',compact('worklogs'));
(注意上面我选择使用 compact()
而不是 with->()
因为它更干净)
然后您可以根据需要迭代您的代码:
@foreach($worklogs as $worklog)
<td>{{$worklog->id}}</td>
<td>{{$worklog->name}}</td>
<td>{{$worklog->company}}</td>
@endforeach
我一直在开发一个从数据库收集数据并打印的网络应用程序。我正在使用 Laravel 框架。我在下面显示了代码使用。我可以直接在我的 PHP 代码中显示 JSON 响应,但是如果我尝试遍历 JSON 响应,我什么也得不到。
以下是我如何使用 Laravel Facades 库生成 JSON 对象:
$worklogs = Response::json($data, $this->getStatusCode(), $headers);
这是我用来将数据传递到 PHP 页面的代码:
return view('index')->with('worklogs', $worklogs);
我可以使用以下代码从 PHP 页面打印收集的数据:
{{ $worklogs }}
但是如果我尝试使用 foreach
循环遍历它,则会出现错误,如下所示:
在 PHP 页面中,我是这样编码的,但它不起作用:
我不确定我是否理解.. 首先,这就是你如何 return a json:
return Response::json([
'hello' => $value
], $headers);
其次:迭代jSon是什么意思? 第三:您的错误消息指出未定义变量 $datas .. 而不是 $data、$datas。您是否将 $data 参数发送到视图?
首先也是最重要的,正如 Bogdan Bocioaca 在他的回答中所说的那样,您只需要 return Json 时才使用 Response::json
函数(主要用于 API,以便其他应用可以访问您的 json 数据)。例如,下面的代码将 return JSON 可能会被移动应用读取
$worklogs = WorkLog::all();
return Response::json([
'worklogs' => $worklogs
], $headers);
根据我对你问题的理解,你想将数据直接传递给视图,所以你的代码最好如下所示:
$worklogs = WorkLog::all();
return view('index',compact('worklogs'));
(注意上面我选择使用 compact()
而不是 with->()
因为它更干净)
然后您可以根据需要迭代您的代码:
@foreach($worklogs as $worklog)
<td>{{$worklog->id}}</td>
<td>{{$worklog->name}}</td>
<td>{{$worklog->company}}</td>
@endforeach