Я получаю JSON от клиента Vue.JS через REST Api и хочу получить данные с помощью Eloquent, но это не работает. Это не блейд и не стандартные данные отправки формы, я получаю JSON Api от клиента, одностраничное приложение.
Это JSON, адресованный маршруту '/order' от клиента, метод POST:
{
"name": "John",
"phone": "+7 794 910 5708",
"email": "[email protected]"
}
Маршрут:
Route::post('/order','OrderController@order');
В контроллере я пытаюсь сделать это:
<?php
namespace App\Http\Controllers;
use Request;
use App\Data;
class OrderController extends Controller
{
public function order()
{
$input = Request::all();
$data = new Data;
$data->name = $input['name'];
$data->phone = $input['phone'];
$data->save();
return response()->json(['result' => '200 OK'], 200);
}
}
Но ничего не происходит. Каков правильный синтаксис для получения данных от REST API?






Внесите некоторые изменения, как показано ниже:
В контроллере:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Data;
class OrderController extends Controller
{
public function order(Request $request)
{
$post = $request->all();
$data = Data::create($post);
if ($data){
return response()->json(['success' => true, 'message' => 'Data has been inserted!']);
} else {
return response()->json(['success' => false, 'message' => 'Data not inserted, Something went wrong!']);
}
}
}
Пробовали ли вы выполнять отладку, выгружая данные запроса, которые вы получаете? Например, можете ли вы поделиться тем, что вы получаете, когда делаете
dd(request()->all());? Поместите это в свою функцию заказа в качестве первой строки.