【发布时间】:2014-03-09 01:46:03
【问题描述】:
在 Laravel 中定义多对多关系时,使用 belongsToMany() 或 hasManyThrough() 有什么区别?
示例:
User
Account
Account_User
因此,用户通过 Account_User 表与 Account 具有多对多关系。除了作为定义相关用户和相关账户的数据透视表之外,它还存储了一个Account_User.role 字段,该字段确定给定用户在给定账户中的角色。
使用User belongsToMany() Account 或User hasManyThrough() Account Account_User 会有什么影响?或者这本质上是一样的?
当决定一个方法时,我想我应该使用相同的方法来定义反向关系。
【问题讨论】:
-
多次通过不适合您的方法。消极地,您将不得不为数据透视表添加一个 Eloquent 模型。正如我在回答中所说,它们是不同的东西,对于你的例子有很多不合适的。认为 Account_user 是帐户和用户表的一部分,而不是第三个表。
标签: orm laravel laravel-4 relationship eloquent