Laravel和3+桌子枢轴

时间:2018-03-28 20:18:52

标签: laravel laravel-5 eloquent

我试图将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()工作来做到这一点?必须有一些我不知道的东西?

感谢您的时间。

0 个答案:

没有答案