有没有人尝试过entrust for User Roles& Laravel 5的权限?
$role = Role::where('name','=','admin')->first();
$user = new User();
$user->name = Input::get('name');
$user->email = Input::get('email');
$user->password = Hash::make(Input::get('password'));
if($user->save()){
$user->attachRole($role);
return redirect('dashboard/users')->with('success-message','New user has been added');
}
但$user-> attachRole($role);虽然它可以在我的databaseSeeder上工作,但在我的UserController上不起作用.
解决方法:
我认为你有这个问题,因为你永远不会保存在数据库中.
尝试这样的事情.
$role = Role::where('name','=','admin')->first();
$user = new User();
$user->name = Input::get('name');
$user->email = Input::get('email');
$user->password = Hash::make(Input::get('password'));
$user->save()
$user->attachRole($role);
return redirect('dashboard/users')->with('success-message','New user has been added');
当然,只有使用laravel的自动增量功能自动增加模型的id时,此方法才有效.如果你使用像uuids这样的东西来唯一地标识你的字段,你还应该包括public $incrementing = false;在你的模型中.
确保在模型中包含HasRole特征.
另外看看Akarun的答案,因为它也会工作.创建方法,创建一个新实例并保存到db,这样你就不需要$user-> save()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。