我是Laravel框架的新手,并试图让我参与其中。 我已经了解如何生成N:M关系并在模型中处理它们。现在我问你如何在多对多的表中填写一个额外的字段?
例如:
Table Foo
表User_Foo
表用户
现在我想声明哪个foo用户是真正的所有者。 在我看来,N:M表存储的信息不是Foo本身。 那么如何在我的Foo和User模型中声明这些附加字段呢?
答案 0 :(得分:0)
使用withPivot()方法
检索其他字段return $this->belongsToMany('App\User')->withPivot('is_owner');
您可以使用sync()或attach()方法填写。
答案 1 :(得分:0)
在定义N-M关系时,Laravel为我们提供了pivot
的概念。默认情况下,该表将具有两个连接的键。但是如果你想在那个桥表中添加额外的字段。
$model->belongsToMany('Model')->withPivot('column1', 'column2');
在上述情况下,您的数据透视表将有两个额外的列,您可以按以下方式访问这些列:
$model->pivot->column1
$model->pivot->column2