Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将角色附加到用户-Laravel_Php_Laravel - Fatal编程技术网

Php 将角色附加到用户-Laravel

Php 将角色附加到用户-Laravel,php,laravel,Php,Laravel,我是laravel的初学者,我想为用户添加角色。这就是我试图这样做,但后来我得到了一个语法错误 注册表控制器 return User::create([ 'name' => $data['name'], 'email' => $data['email'], 'phone' => $data['phone'], 'password' => bcrypt($data['passwo

我是laravel的初学者,我想为用户添加角色。这就是我试图这样做,但后来我得到了一个语法错误

注册表控制器

return User::create([
            'name' => $data['name'],
            'email' => $data['email'],
            'phone' => $data['phone'],
            'password' => bcrypt($data['password']) ,

            saveRoles($request->get('role'));



        ]);
用户模型

 public function saveRoles($roles)
{
    if(!empty($roles))
    {
        $this->roles()->sync($roles);
    } else {
        $this->roles()->detach();
    }
}

如果
role
是一个角色ID数组(即使它是空的或只有一个ID),则无需使用
detach()
或检查数组是否为空。所以,
RegisterController@create
方法应如下所示:

protected function create(array $data)
{
    $user = User::create([
        'name' => $data['name'],
        'email' => $data['email'],
        'phone' => $data['phone'],
        'password' => bcrypt($data['password'])
    ]);

    $user->roles()->sync($data['role']);

    return $user;
}