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

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

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

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

            // 关联模型的字段,用来做关联显示
            'name_field' => 'name',
        ],
...
ocean
oceandlnu
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 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年前 评论

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