Laravel - 创建时随机密码

Jak*_*f19 0 laravel

我有一种在创建时存储员工数据的方法,但是我定义了一个随机创建和散列的默认密码。由于某种原因未存储密码。

有任何想法吗?

public function store(Request $request)
    {
        // get company
        $company = Auth::user()->companies()->first();

        // get and validate data
        $storeData = $request->validate([
            'firstname' => 'required',
            'lastname' => 'required',
            'email' => 'required|email',
            'phone' => 'required|numeric|digits:11'
        ]);

        // create employee with validated data
        $employee = $company->employees()->create(array_merge($storeData), [
            'password' => Hash::make(Str::random(40)),
        ]);

        return redirect('/employees/' . $employee->id )
            ->with('success', 'Employee successfully created');
    }
Run Code Online (Sandbox Code Playgroud)

Lyz*_*ska 5

你的代码有错别字,你试试

   $employee = $company->employees()->create(array_merge($storeData, [
            'password' => Hash::make(Str::random(40)),
   ]));
Run Code Online (Sandbox Code Playgroud)

关闭array_merge得太早并且只包含数组中的内容$storeData。