[英]Input data to Laravel Restful API using JSON
我正在嘗試將一些數據發布到我的應用程序中的Restful API中,但是當JSON包含一組以上數據時,我沒有成功。
這是我的JSON示例:
"data": [ {
"client_id": "3",
"veiculo_id": "3",
"carreta1_id": "3",
"carreta2_id": "3",
"motorista1_id": "3",
"motorista2_id": "3",
"embarcador_id": "3",
"inicioprevisao": "2018-10-10 11:00:00",
"fimprevisao": "2018-10-10 18:00:00",
"nroliberacao": "3"
},
{
"client_id": "4",
"veiculo_id": "4",
"carreta1_id": "4",
"carreta2_id": "4",
"motorista1_id": "4",
"motorista2_id": "4",
"embarcador_id": "4",
"inicioprevisao": "2018-10-10 11:00:00",
"fimprevisao": "2018-10-10 18:00:00",
"nroliberacao": "4"
}
] }
這是我的控制器:
public function storeapi(Request $request)
{
$array = $request->all();
foreach ($array['data'] as $row) {
return Sm::create([
'client_id' => $row['client_id'],
'veiculo_id' => $row['veiculo_id'],
'carreta1_id' => $row['carreta1_id'],
'carreta2_id' => $row['carreta2_id'],
'motorista1_id' => $row['motorista1_id'],
'motorista2_id' => $row['motorista2_id'],
'embarcador_id' => $row['embarcador_id'],
'inicioprevisao' => $row['inicioprevisao'],
'fimprevisao' => $row['fimprevisao'],
'nroliberacao' => $row['nroliberacao']
]);
}
}
這樣,我只有第一個塊放在數據庫中,而我需要兩個塊。 我關注本文,但無法正常工作。 laravel 5.6批量插入json數據
之所以發生此問題,是因為您在foreach
循環中使用了return
。 我猜您正在執行此操作,因為您想return
插入的元素的ID,因此最好像這樣遍歷:
$array = $request->all();
$insertedIds = [];
foreach ($array['data'] as $row) {
$newSm = Sm::create([
'client_id' => $row['client_id'],
'veiculo_id' => $row['veiculo_id'],
'carreta1_id' => $row['carreta1_id'],
'carreta2_id' => $row['carreta2_id'],
'motorista1_id' => $row['motorista1_id'],
'motorista2_id' => $row['motorista2_id'],
'embarcador_id' => $row['embarcador_id'],
'inicioprevisao' => $row['inicioprevisao'],
'fimprevisao' => $row['fimprevisao'],
'nroliberacao' => $row['nroliberacao']
]);
$insertedIds[] = $newSm->id;
}
//Now we can return an array with the inserted elements' IDs
//In this case, since this is coming from a JSON, we'll answer the same way.
return response()->json($insertedIds);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.