laravel 模型填充多对多内的附加字段 table
laravel models fill additional field inside many-to-many table
我是 Laravel 框架的新手,正在尝试让我参与其中。
我已经了解如何生成 N:M 关系并在模型中处理它们。现在我问你如何在多对多表中填充一个额外的字段?
例如:
Table 富
Table User_Foo
- user_id
- foo_id
- is_owner(布尔值)
Table 用户
现在我要声明哪个foo用户才是真正的拥有者。
在我看来,N:M Table 存储了此信息而不是 Foo 本身。
那么如何在我的 Foo 和 User 模型中声明这些附加字段呢?
使用 withPivot() 方法可以检索其他字段
return $this->belongsToMany('App\User')->withPivot('is_owner');
使用 sync() 或 attach() 方法尽你所能。
Laravel 在定义 N-M 关系时为我们提供了 pivot
的概念。默认情况下 table 将具有两个连接的键。但是如果你想在那个桥中添加额外的字段 table.
$model->belongsToMany('Model')->withPivot('column1', 'column2');
在上述情况下,您的数据透视表 table 将有两个额外的列,您可以通过以下方式访问这些列:
$model->pivot->column1
$model->pivot->column2
我是 Laravel 框架的新手,正在尝试让我参与其中。 我已经了解如何生成 N:M 关系并在模型中处理它们。现在我问你如何在多对多表中填充一个额外的字段?
例如:
Table 富
Table User_Foo
- user_id
- foo_id
- is_owner(布尔值)
Table 用户
现在我要声明哪个foo用户才是真正的拥有者。 在我看来,N:M Table 存储了此信息而不是 Foo 本身。 那么如何在我的 Foo 和 User 模型中声明这些附加字段呢?
使用 withPivot() 方法可以检索其他字段
return $this->belongsToMany('App\User')->withPivot('is_owner');
使用 sync() 或 attach() 方法尽你所能。
Laravel 在定义 N-M 关系时为我们提供了 pivot
的概念。默认情况下 table 将具有两个连接的键。但是如果你想在那个桥中添加额外的字段 table.
$model->belongsToMany('Model')->withPivot('column1', 'column2');
在上述情况下,您的数据透视表 table 将有两个额外的列,您可以通过以下方式访问这些列:
$model->pivot->column1
$model->pivot->column2