laravel给用户分配角色

一、给用户分配角色

1.1 用户模型关联角色

用户和角色之间的关系:属于关系 boLongsTo
User.php模型中写入如下关联代码:

    // 用户属于哪个角色
    public function role() {
        return $this -> belongsTo(Role::class, 'role_id');
    }

在这里插入图片描述

1.2 增加分配权限按钮

<span class="label label-primary radius">
	<a href="{{route('admin.user.role', $item)}}">分配权限</a>
</span>

在这里插入图片描述

1.3 添加分配权限路由

 // 给用户分配角色
 Route::match(['get', 'post'], 'user/role/{user}', 'UserController@role')->name('user.role');

在这里插入图片描述

1.4 增加用户表展示角色

在这里插入图片描述
在这里插入图片描述

1.5 分配角色控制器方法

    // 分配角色处理
    public function role(Request $request, User $user) {
        // 判断是否是post请求
        if ($request -> isMethod('post')) {
            $post = $this->validate($request, [
                'role_id' => 'required'
            ], [
            'role_id.required' => '必须选择'
            ]);
            $user -> update($post);
            return redirect(route('admin.user.index'));
        }

        // 读取所有的角色
        $roleAll = Role::all();
        
        return view('admin.user.role', compact('user', 'roleAll'));
    }

在这里插入图片描述

1.6 分配角色模版

user下新建role.blade.php写入如下代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
@include('admin.common.validate');
    <form action="{{route('admin.user.role', $user)}}" method="post">
        @csrf
        @foreach($roleAll as $item) 
        <div>
            <label for="">{{$item->name}}
                <input type="radio" name="role_id" value="{{$item->id}}" id=""
                    @if($item -> id == $user -> role_id) checked @endif
                >
            </label>
        </div>
        @endforeach
        <button type="submit">分配角色</button>
    </form>
</body>
</html>

在这里插入图片描述

1.7 效果

在这里插入图片描述
在这里插入图片描述

在学习的php的路上,如果你觉得本文对你有所帮助的话,那就请关注点赞评论三连吧,谢谢,你的肯定是我写博的另一个支持。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

你华还是你华

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值