在 laravel 5.7 中更新 API
Update API in laravel 5.7
我已经创建 API 更新我的项目详细信息,我在 POSTMAN 应用程序中对其进行了测试,它显示了成功消息,但在数据库中没有任何效果。
这是我的代码:
ProjectsController.php
public function UpdateProject($id)
{
$data = Input::all();
$q = Project::where('id',$id)->update($data);
return response()->json([
'code' => SUCCESS,
'message' => 'Project data update successfully'
]);
}
api.php
Route::post('UpdateProject/{id}','ProjectsController@UpdateProject');
邮递员 - see image.
邮递员输出:
{
"code": "200",
"message": "Project data update successfylly"
}
谁能帮帮我?
谢谢
在您的模型中添加 fillable :
protected $fillable = ['name', 'project_group_id','number','ROM','address','city','state','zip','start_date','end_date','duration','description','timeline_type','project_type_id','project_category_id','office_id'];
您在更新数据后忘记了运行->save()
方法:
public function UpdateProject($id)
{
$data = Input::all();
$q = Project::find($id)
$q = $q->fill($data);
$q->save();
return response()->json([
'code' => SUCCESS,
'message' => 'Project data update successfully'
]);
}
我认为您需要仔细检查所有输入的详细信息,它在您提交表单时还带有令牌,因此您需要保存除令牌以外的所有详细信息
改变这个
$data = Input::all();
至此
$data = Input::except('_token');
我希望这能解决问题。
你可以使用这个方法,它会减少你的代码
路线(api)
Route::post('UpdateProject/{project}','ProjectsController@UpdateProject');
ProjectsController.php
public function UpdateProject(Request $request, Project $project)
{
$data = $request->all();
$project->update($data);
return response()->json([
'code' => SUCCESS,
'message' => 'Project data update successfully'
]);
}
我已经创建 API 更新我的项目详细信息,我在 POSTMAN 应用程序中对其进行了测试,它显示了成功消息,但在数据库中没有任何效果。
这是我的代码:
ProjectsController.php
public function UpdateProject($id)
{
$data = Input::all();
$q = Project::where('id',$id)->update($data);
return response()->json([
'code' => SUCCESS,
'message' => 'Project data update successfully'
]);
}
api.php
Route::post('UpdateProject/{id}','ProjectsController@UpdateProject');
邮递员 - see image.
邮递员输出:
{
"code": "200",
"message": "Project data update successfylly"
}
谁能帮帮我?
谢谢
在您的模型中添加 fillable :
protected $fillable = ['name', 'project_group_id','number','ROM','address','city','state','zip','start_date','end_date','duration','description','timeline_type','project_type_id','project_category_id','office_id'];
您在更新数据后忘记了运行->save()
方法:
public function UpdateProject($id)
{
$data = Input::all();
$q = Project::find($id)
$q = $q->fill($data);
$q->save();
return response()->json([
'code' => SUCCESS,
'message' => 'Project data update successfully'
]);
}
我认为您需要仔细检查所有输入的详细信息,它在您提交表单时还带有令牌,因此您需要保存除令牌以外的所有详细信息
改变这个
$data = Input::all();
至此
$data = Input::except('_token');
我希望这能解决问题。
你可以使用这个方法,它会减少你的代码
路线(api)
Route::post('UpdateProject/{project}','ProjectsController@UpdateProject');
ProjectsController.php
public function UpdateProject(Request $request, Project $project)
{
$data = $request->all();
$project->update($data);
return response()->json([
'code' => SUCCESS,
'message' => 'Project data update successfully'
]);
}