當我嘗試在我的表中更新時遇到問題,它不會更新并回傳資料 []
控制器中的功能更新
public function update(StorePersonRequest $request, Person $person)
{
$person->update($request->all());
return new PersonResource($person);
}
StorePersonRequest :
class StorePersonRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array<string, mixed>
*/
public function rules()
{
return [
'CoPe'=>'required',
'NaPe'=>'required',
'PhoPe1'=>'required',
'Corq'=>'required',
];
}
uj5u.com熱心網友回復:
我記得郵遞員也有同樣的問題。問題不在 laravel 上,而是在您請求的標頭上。選擇application/x-www-form-urlencoded
標頭,您的正文將成功發送。
同樣在頂部的方法中選擇 PUT 而不是 POST 并洗掉_method
您的身體欄位
uj5u.com熱心網友回復:
首先,如果您沒有傳遞任何檔案或其他東西,我不確定使用form-data是否是一種好習慣。您可以只使用raw并使用 PUT OR PATCH 將 json 與您的資料一起傳遞。我還看到你也傳遞了一個 id,有什么理由嗎?
無論如何,我認為你要做的就是把 _method 放在你的 url 上。所以在你的情況下應該是這樣的:
localhost:8000/api/pe/2?_method=PATCH
(或 PUT,如果您愿意的話)。現在您沒有將它作為引數傳遞,而是將其包含在您的正文請求中。我相信這是你的問題。
uj5u.com熱心網友回復:
您是否在路由檔案夾中構建了路由?像下面這樣的 api.php 或 web.php?
Route::get('tasks', 'App\Http\Controllers\TaskController@index'); //get tasks with authenticated user_id where is_last_status is 0 with
Route::get('tasks/user/{user_id}', 'App\Http\Controllers\TaskController@tasksForUser'); //get tasks for specific user_id
Route::get('tasks/{task}', 'App\Http\Controllers\TaskController@show'); //get tasks with specified task id number in {task}
Route::put('tasks/{task}', 'App\Http\Controllers\TaskController@update');
Route::post('tasks','App\Http\Controllers\TaskController@store');
Route::delete('tasks/{task}', 'App\Http\Controllers\TaskController@destroy');
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/518270.html
標籤:拉拉维尔