2017-06-07 19 views
1

私はwebservicesを使用しています。私の要件は、サーバからJSONデータを受け取り、DBに格納することです[受注テーブル]。顧客はモバイルに複数の受注を置くために使用します.Laravelコントローラで受け取り、オーダーテーブルに格納する必要があります。コントローラIはデータを受け取るべきです。 私はwebservicesとJSONのこの概念を初めて使用しています。 api.phpでLaravel 5.4-サーバーから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();   
} 

、私は、関数のパラメータとどのようにDBに保存するようJSONデータを受信する方法についてwork.suggestionsは、上記のコード断片Route::get('/receive', '[email protected]'); をしない呼び出しています。

あなたが入力::以下のようなLaravelのすべての方法を使用して連想配列を受け取るべき
+0

e PHPおよび/またはLaravelエラーログ? – mkaatman

答えて

2

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', '[email protected]'); 
目には何があなたがあなたがあなたのAPIにデータを投稿するCURLを使用することができ、フォームが提出したくない場合は

$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); 
+0

.It worked.Great – dynamic

+0

@dynamic、それは働いてうれしいです。ハッピーコーディング:) – manian

関連する問題