所以我在我的应用程序中遇到了一个错误。当我想要更新项目时,所有内容都会顺利更新。除了一个输入。 projectnaam
不会改变。在flashdata中,我在成功后发送显示已更改的projectnaam,但在我检查数据库后,除了projectnaam
我的代码:
public function updateProject(Request $request){
$input = $request->input('projectnaam');
$data = array(
'titel' => $request['titel'],
'status' => $request['status'],
'prioriteit' => $request['prioriteit'],
'soort' => $request['soort'],
'projectnaam' => $request['projectnaam'],
'projecturl' => $request['projecturl'],
'gebruikersnaam' => $request['gebruikersnaam'],
'wachtwoord' => bcrypt($request['wachtwoord']),
'omschrijvingproject' => $request['omschrijvingproject'],
);
Project::where('projectnaam', '=', $input)->update($data);
$request->session()->flash('alert-success', 'Project '. $request['projectnaam']. ' veranderd.');
return redirect('/projectmuteren');
}
我希望你们中有人看到我的错误:P
答案 0 :(得分:1)
您在课程'projectnaam'
的{{1}}数组中未包含$fillable
答案 1 :(得分:1)
您没有在代码中更新projectnaam
,因为没有更新内容。为简洁起见,我将从您的示例中删除3行代码。
$input = $request->input('projectnaam');
'projectnaam' => $request['projectnaam'],
Project::where('projectnaam', '=', $input)->update($data);
$request->input('projectnaam');
与$request['projectnaam']
相同。因此,$input
也等于$request['projectnaam']
。
换句话说,您正在根据提供的projectnaam
值查找项目。那你就是"更新"它具有完全相同的值,因此无需更新。两者是同一个。
更具体地说,让我们为它赋值1.您正在搜索projectnaam
等于1的项目,然后"更新"它的值为1,所以很自然地没有更新。