Php 更新方法不保存

Php 更新方法不保存,php,laravel,Php,Laravel,我有一个简单的crud应用程序,使用Laravel 8。我的保存代码工作正常。但是我的更新代码不起作用。我的控制台没有返回任何错误。我错过了什么导致它无法保存的东西吗?。 代码 private $validations; public function __constructor() { $this->validations([ 'name' => 'required', 'email' => "required|email&

我有一个简单的crud应用程序,使用
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()。我在发布问题之前尝试了它。我得到一个特定列的错误。我更新了我的帖子,这是因为这些列可能不可为空。