问一下 belongsToMany 和 hasMany 有什么区别

我有四个表
用户表
角色表
权限表
用户_角色表
角色_权限表

用户跟角色是多对多的关系
然后在用户模型里面
function roles()
{
$this->belongsToMany('角色模型');
}

function roles()
{
$this->hasMany('角色模型');
}
这两个有什么区别吗

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 5

一对多和多对多的关系。
一个user可以有多个post,但是一个post只属于一个user,这个是user hasMany post, post belongsTo user

一个user可以由多个role,但是一个角色可以属于多个user,这个是user belongsToMany role, role belongsToMany user

应该是这个区别吧

6年前 评论

@linzi007 感觉还是看不出区别 那user hasMany role 和 role belongsTo user 值有什么区别

6年前 评论

区别就是需不需要 用户_角色表 这张表~~

6年前 评论
bestony

@Echoiii role belongsTo user 的话,一个角色只能归属于一个用户,那还有什么意义?

6年前 评论

我前几天也写了一个简单的关于权限的,我本来也打算这么弄,但是我是laravel新手,我怕弄错了,就没这么弄,然后我直接在用户表添加了一个type字段,根据type的值来判断是否能进行操作,

6年前 评论

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