Laravel 5.4-如何从服务器接收JSON数据并保存在数据库中



我正在使用WebServices。我的要求是从服务器接收JSON数据并存储在DB [订单表]中。customers用于在移动设备中放置mutliple订单。必须在Laravel Controller中收到同样的订单并存储在订单表中。我不应仅通过使用表格。控制器我应该接收数据。我是这个Web服务和JSON概念的新手。

public function receive(Request $request)
{       
    $data = $request->json()->all();
    $order = new order();
    $order->product_int = $request->input('products');
    $order->quantity_float = $request->input('quantity');
    $order->amount_float = $request->input('amount');       
    $order->save();        
}

在api.php中,我正在调用 Route::get('/receive', 'OrderController@receive');上面的代码不起作用。有关如何接收json数据作为函数参数以及如何保存到db。

您应该通过使用Intput ::所有方法在Laravel中收到一个关联数组,

public function receive(Request $request)
{       
   $data = Input::all(); //$data = $request->json()->all(); should also work
   $order = new order();
   $order->product_int = $data['products'];
   $order->quantity_float = $data['quantity'];
   $order->amount_float = $data['amount'];       
   $order->save();        
}

大概,您可能需要更改您的路线而不是获取,

Route::post('/receive', 'OrderController@receive'); 

如果您不想提交表格,则可以使用卷发将数据发布到您的API,

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,"YOUR-API-URL-HERE");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query(array('products' => $value, 'quantity' => $quantity, 'amount' => $amount)));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$output = curl_exec ($ch);
curl_close ($ch);

相关内容

  • 没有找到相关文章

最新更新