我对 Laravel 4 和“多对多”查询关系有疑问。我有四张桌子:
- 用户
- 需要
- 货币
- 用户需求
User_Needs 包含用户和需求之间的“多对多”关系。描述如下
id - user_id - need_id - currency_id - price
ID 是自动增量,PK 等等... user_id 是用户表的外键,need_id 是需求表的外键,currency_id 是货币表的外键。价格是浮动的。
在 Laravel 4 Models 文件夹中,我创建了以下模型
具有模型类文件中的 belongsToMany 函数的用户:
public function needs()
{
return $this->belongsToMany('Need','user_needs','user_id','need_id')->withPivot('price');
}
需要为 belongsToMany 提供一个函数
public function users()
{
return $this->belongsToMany('User','user_needs','user_id','need_id')->withPivot('price');
}
如果我只使用这两个模型,一切正常,问题是我必须添加“currency_id”,因为每个用户都可以为每个需求设置货币,我不知道如何更新我的模型来做到这一点。目前我的货币模型没有 BelongsToMany 因为我不知道如何实现它。
Laravel 文档避免了“如何使用多对多连接 3 个表”的主题,这有点烦人......
编辑:如果可能找到没有像 UserNeeds 这样的中间模型的解决方案
谢谢你的帮助。