我已经创建了更新我的项目详细信息的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"
}
有人可以帮我吗?
谢谢
答案 0 :(得分:2)
我认为您需要仔细检查所有输入的详细信息,提交表单时还附带令牌,因此您需要保存除令牌以外的所有详细信息
更改此
$data = Input::all();
对此
$data = Input::except('_token');
我希望这可以解决问题。
答案 1 :(得分:0)
在模型中添加可填充:
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'];
答案 2 :(得分:0)
您已忘记在更新数据后运行->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'
]);
}
答案 3 :(得分:0)
您可以使用此方法来减少代码
路线(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'
]);
}