为什么该级别的哈希函数不起作用?

why is the hash function at the level not working?

我尝试在我的控制器中创建散列密码,但出现如下错误 Illuminate\Database\Eloquent\Builder::updateOrCreate():参数 #2 ($values) 必须是数组类型,给定的字符串,在第 23 行的 C:\xampp\htdocs\production\namasindo\vendor\laravel\framework\src\Illuminate\Support\Traits\ForwardsCalls.php 中调用

这是我的控制器

  public function store(Request $request)
    {
        $data=$request->All();
        $data= Hash::make($request->password);
        User::updateOrCreate(["id"=>$request->id], $data);
        return response()->json($data);
    }

您正在用哈希覆盖 $data

参见:

    $data= Hash::make($request->password);

你的意思是:

    $data['password'] = Hash::make($request->password);

第二个参数是一个数组所以这里$data必须是一个数组

$data['password'] = Hash::make($request->password);