【发布时间】:2019-11-19 23:02:42
【问题描述】:
我已经阅读了关于使用 json 数组建立关系的帖子/答案,但是对于这个平台来说,我正在努力让一个作品发挥作用。寻找一些输入。
我有用户和服务的模型/类/表
用户表:
------------------------------
id | name | serviceProvided_id
------------------------------
1 User1 1
2 User2 2
服务表:
--------------------------
id | name | icon
--------------------------
1 Service1 1.jpg
2 Service2 2.jpg
3 Service3 3.jpg
4 Service4 4.jpg
5 Service5 5.jpg
用户模型
public function serviceProvided()
{
return $this->belongsTo(Service::class,'serviceProvided_id','id');
}
当我从 UserController 获取用户时,我可以用它返回 Service 的关系:
User::with('serviceProvided')
完美运行。我现在想做的是使 servicesProvided 成为一个以上的值,并且仍然能够使用用户加载所有这些。
我在想 User 表看起来像这样:
------------------------------
id | name | serviceProvided_id
------------------------------
1 User1 [1,2,3]
2 User2 [1,3,5]
我从 Jonas S (https://github.com/staudenmeir/eloquent-json-relations) 读到了一个包,但我一直卡在那个包中,它似乎不需要一个专门的列,但其他一些列中有键/值?我很困惑,如果能得到任何帮助,我将不胜感激。
谢谢, 周杰伦
【问题讨论】:
-
您需要一个用于 n:n 关系的数据透视表
-
是的,创建一个数据透视表并定义多对多关系。看看docs
-
好的。因此,如果我有 7 或 8 个其他模型根本没有在此处列出,请对 Services 表进行引用(或多个引用).. 它仍然是我创建所有这些额外数据透视表的最佳方法吗?