此问题扩展了Laravel文档中提供的示例Eloquent : Working With Pivot Tables。
此处的关系是User
有许多Role
个与之相关的对象,而每个Role
都由多个Task
&#39组成; S。
这些模型之间的关系是:
用户和角色:
Role
可能只涉及一个User
,但User
可能有多个Role
角色和任务
Role
可以有多个Task
与之关联,每个Task
可以属于多个Role
就数据库模式(MySql)而言,我们有:
users
表roles
外键的user_id
表tasks
表role-task
数据透视表简单来说,我需要应用的约束是用户不能与由完全相同的任务组成的多个角色相关联,但是两个角色可以由完全相同的任务组成
是否存在使用Laravels Eloquent ORM系统应用此约束的内置方法?如果没有,那将是一个整洁的解决方法?
雄辩的描述:
User hasMany Role
Role belongsToMany Task
问题:如何防止分配到具有完全相同的user
roles
多个tasks