繁体   English   中英

用户不更新Laravel

[英]User doesn't update Laravel

更新方法:

public function update(UserUpdateRequest $request, Users $uzytkownik)
    {
        $this->authorize('update', $uzytkownik);

        if ( $uzytkownik->update([
            'birth' => $request->birth,
            'sex' => $request->sex,
            'about' => $request->about,
        ]) )
        {
            return 1;
        }

        return 0;
    }

在第1页上的更新时出现。 就像它做的那样。 但在db中没有任何改变。

$uzytkownik是正确的用户,这是dd($uzytkownik);

在此输入图像描述

低于dd($request->birth.'---'.$request->sex.'---'.$request->about); 它显示了适当的输入

在此输入图像描述

为什么它不能正常工作?

根据文档

质量分配您还可以使用create方法将新模型保存在一行中。 插入的模型实例将从方法返回给您。 但是,在执行此操作之前,您需要在模型上指定可填充或保护属性,因为默认情况下所有Eloquent模型都会防止批量分配。

您需要确保正确设置$fillable$guarded否则更改可能不会持久。

你也可以这样做你想做的事:

public function update(UserUpdateRequest $request, Users $uzytkownik)
{
    $this->authorize('update', $uzytkownik);

    $uzytkownik->birth = $request->birth;
    $uzytkownik->sex   = $request->sex;
    $uzytkownik->about = $request->about;

    if ( $uzytkownik->save() )
    {
        return 1;
    }

    return 0;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM