我试图将laravel包裹在一个相对基本的结构中 - 在多个组织中具有角色的用户,如在单个用户中可以在许多组织中拥有许多角色。这允许用户拥有一组具有不同访问权限的登录凭据,具体取决于他们代表的组织。
在MySQL / MariaDB中,我通常会用一个包含三列且具有唯一组合约束的表来表示它
CREATE TABLE `organisation_role_user` (
`organisation_id` int(10) unsigned NOT NULL,
`role_id` int(10) unsigned NOT NULL,
`user_id` int(10) unsigned NOT NULL,
UNIQUE KEY `organisation_role_user`
(`organisation_id`,`role_id`,`user_id`),
KEY `organisation_role_user_ibfk_2` (`user_id`),
KEY `organisation_role_user_ibfk_3` (`role_id`),
CONSTRAINT `organisation_role_user_ibfk_1` FOREIGN KEY
(`organisation_id`) REFERENCES `organisations` (`id`) ON DELETE CASCADE,
CONSTRAINT `organisation_role_user_ibfk_2` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE,
CONSTRAINT `organisation_role_user_ibfk_3` FOREIGN KEY (`role_id`) REFERENCES `roles` (`id`) ON DELETE CASCADE
)
我想知道有人必须在我面前使用Laravel / Eloquent中的类似构造 - 这是一件基本的事情。
有没有办法用attach()/ detach()/ sync()工作来做到这一点?必须有一些我不知道的东西?
感谢您的时间。