问题或功能请求摘要
我需要使用水合物来填充未链接到数据库的模型。但是这样做时,我不能使用laravel的datatable()调用。
$query = "EXECUTE [dbo].[rpt_controlclient] '$XML' ";
DB::connection('sqlsrvreplicate')->reconnect();
$data = DB::connection('sqlsrvreplicate')->select($query);
$ReportData = $Model->hydrate($data);
return datatables()->collection($ReportData)->toJson();
我需要得到的东西
"data": [
[
"Tiger Nixon",
"System Architect"
],
[
"Garrett Winters",
"Accountant"
],
我实际上得到的东西
"data": [{
"Name":"Tiger Nixon",
"Job":"System Architect"
},
{
"Name":"Garrett Winters",
"Job":"Accountant"
}],
答案 0 :(得分:0)
这就是您返回值的方式。检查此行的最后一种方法:
return datatables()->collection($ReportData)->toJson();
使用toJson()
,您将以json
对象的形式返回数据,这就是为什么您得到:
{
"data": [
{
"Name": "Tiger Nixon",
"Job": "System Architect"
},
{
"Name": "Garrett Winters",
"Job": "Accountant"
}
]
}
相反,您可以这样做:
return datatables()->collection($ReportData)->toArray();
现在,如果您将其用于API,则可以在客户端将json
解析为array
。如果您的客户端是用php编写的,请执行以下操作:
$my_fancy_array = json_decode($received_data, true);