我是Laravel和Eloquent的新手(我对ORM的总体经验很少)。
假设我有三个数据库表:
我已经建模了一个包含以下列的联结表:
widget_id
action_id
user_id
交汇点的目的是记录交互记录 - 每次user
在action
上执行widget
时都需要时间戳。我看到如何使用Eloquent建立一个简单的多对多关系模型并使其工作正常,但我不确定如何建模更复杂的三向关系。
就此而言,即使我有一个简单的多对多关系(比如widget
到action
所以会有一个名为action_widget
的表格,我该如何添加为了跟踪每个关系的额外数据(例如时间戳,注释字段等),Eloquent中action_widget
表的显式模型。或者,我是以完全错误的方式解决这个问题?
作为ORM的新手,我觉得我能做的事情非常紧张!这种感觉会消失吗? :P
答案 0 :(得分:12)
工作正常。 但如果你有3路关系,我认为最好有一个名为WidgetUserAction的模型。
编辑:对于这些情况,新的“hasManyThrough”工作正常。
答案 1 :(得分:0)
Laravel可以自动创建中间模型。他们被称为“枢轴表”。