Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.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
Laravel 调用未定义的方法Illumb\Database\Query\Builder::attachRole()_Laravel_Entrust - Fatal编程技术网

Laravel 调用未定义的方法Illumb\Database\Query\Builder::attachRole()

Laravel 调用未定义的方法Illumb\Database\Query\Builder::attachRole(),laravel,entrust,Laravel,Entrust,当我创建一个用户并尝试将角色附加到它时,我得到下面引用的错误。如何修复代码 调用未定义的方法Illumb\Database\Query\Builder::attachRole() 公共函数存储(请求$Request) { $this->validate$请求[ “名称”=>“必需”, “电子邮件”=>“必需”|电子邮件|唯一:用户,电子邮件”, '密码'=>'必需|相同:确认密码', 'image'=>'必需| image | mimes:png、jpg、jpeg | max:1000', '角

当我创建一个用户并尝试将角色附加到它时,我得到下面引用的错误。如何修复代码

调用未定义的方法Illumb\Database\Query\Builder::attachRole()

公共函数存储(请求$Request)
{
$this->validate$请求[
“名称”=>“必需”,
“电子邮件”=>“必需”|电子邮件|唯一:用户,电子邮件”,
'密码'=>'必需|相同:确认密码',
'image'=>'必需| image | mimes:png、jpg、jpeg | max:1000',
'角色'=>'必需',
]);
$input=$request->all();
$input['password']=Hash::make($input['password']);
如果($request->file('image')){
$image=$request->file('image');
如果($image->isValid()){
$fileName=time().'-'.str_slug($input['name'],“-”)。$image->getClientOriginalExtension();
$image\u path=公共路径($profile/。$fileName);
//调整图像大小
Image::make($Image)->save($Image\u路径);
$input['image']=$fileName;
}
}
$user=user::create($input);
foreach($request->input('roles')作为$key=>$value){
$user->attachRole($value);
}
flashy()->success('User created successfully!');
return redirect()->route('users.index');
}

问题显然在于,您正在对用户模型调用一个尚未定义的方法。无论您使用哪个角色权限包,都应该为您提供一个特性,以添加到您的用户模型中

如果您正在使用空间角色权限包,请添加
use-HasRoles编码到您的用户模型,以便Trait方法可用于您的用户模型


更多详细信息可在此处找到

输入用户模型(使用LaratrustUserTrait;)

Hi@Mahmoud Nizar,请在给出答案时更加具体,并尝试解释解决方案和导致问题的原因