6

我是 Laravel 和 Eloquent 的新手(总的来说,我对 ORM 的经验很少)。

假设我有三个数据库表:

  1. 小部件
  2. 行动
  3. 用户

我已经建模了一个具有以下列的联结表:

  1. widget_id
  2. action_id
  3. user_id
  4. 时间戳

连接点是保存交互日志——每次 a对auser执行操作时获取时间戳。我看到了如何使用 Eloquent 对简单的多对多关系进行建模并且可以正常工作,但我不确定如何对更复杂的三向关系进行建模。actionwidget

就此而言,即使我有一个简单的多对多关系(假设widget会有action一个名为 的表action_widget),我如何action_widget在 Eloquent 中为表添加显式模型,以跟踪额外数据关于每个关系(例如时间戳、评论字段等)。或者,我只是以一种完全错误的方式来解决这个问题吗?

作为 ORM 的新手,我对自己能做什么感到非常局限!这种感觉会消失吗?:p

4

2 回答 2

13

当您有像类别<->文章这样的 2 向关系时,枢轴工作正常。但如果你有 3 路关系,我认为最好有一个名为 WidgetUserAction 的模型。

编辑:对于这些情况,新的“hasManyThrough”工作正常。

于 2013-06-01T00:07:58.643 回答
0

Laravel 可以自动创建中间模型。它们被称为“数据透视表”。

我建议您阅读文档中的这一部分

于 2013-05-31T23:57:26.167 回答