Php 更新方法不保存
我有一个简单的crud应用程序,使用Php 更新方法不保存,php,laravel,Php,Laravel,我有一个简单的crud应用程序,使用Laravel 8。我的保存代码工作正常。但是我的更新代码不起作用。我的控制台没有返回任何错误。我错过了什么导致它无法保存的东西吗?。 代码 private $validations; public function __constructor() { $this->validations([ 'name' => 'required', 'email' => "required|email&
Laravel 8
。我的保存代码工作正常。但是我的更新代码不起作用。我的控制台没有返回任何错误。我错过了什么导致它无法保存的东西吗?。
代码
private $validations;
public function __constructor()
{
$this->validations([
'name' => 'required',
'email' => "required|email",
'phone' => "required",
'dob' => "required|date",
'interested_package' => 'sometimes'
]);
}
public function update(Request $request)
{
$rules = $this->validations;
$rules['id'] = 'required|exists:leads';
$postData = $this->validate($request, $rules);
Lead::where('id', $postData['id'])->update($postData);
return redirect()->route('lead.view', ['lead' => $postData['id']]);
}
更新
这是我的表结构我认为在构造函数中必须使用$this->validations=[…]。代替$this->validations(…)。更改此行
Lead::where('id',$postData['id'))->更新($postData)代码>此Lead::where('id',$postData['id'])->update($request->all())代码>我通过更改行Lead::where('id',$postData['id'])->update($postData)来解决这个问题代码>进入Lead::findOrFail($postData['id'])->update($request->all())代码>
我不知道为什么它是这样工作的。还是一样。另一种方式$postData->dob=$request->dob$postData->save()。我在发布问题之前尝试了它。我得到一个特定列的错误。我更新了我的帖子,这是因为这些列可能不可为空。