簡體   English   中英

使用JSON將數據輸入Laravel Restful API

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM