如何理解 roles 关联模型的意思?

如下,users.php 这块配置要如何理解,是怎么找到用户所关联角色的,并没有指明关联模型为 Role,源码是怎样执行的,请教大家

...
'roles' => [
            'title'      => '用户角色',

            // 指定数据的类型为关联模型
            'type'       => 'relationship',

            // 关联模型的字段,用来做关联显示
            'name_field' => 'name',
        ],
...
ocean
oceandlnu
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 2

这是一个多选框,用来设置用户的角色。

用户与角色之间是一对多的关系。我们的用户表是 users,而角色表是 roles。如下:

可见,在角色表 roles 中,name 字段保存着角色的名称。

        'roles' => [
            'title'      => '用户角色',

            // 把 roles 这个字段的类型设为关联,
            // 说明 roles 这个字段的数据其实是来自 roles 模型的某一列,
            // users 模型与 roles 模型是一对多的关系,
            // 所以将看到一个多选框
            'type'       => 'relationship',

            // 而多选框的选项取自 roles 模型的 name 列
            'name_field' => 'name',
        ],
5年前 评论
ZsmHub

@totravel 在LaravelBBS项目里,用户与角色之间是多对多的关系,中间表是 model_has_roles

# App\Models\User.php 中引入了 HasRoles trait,里面有多对多的关联处理
use Spatie\Permission\Traits\HasRoles;

file

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!