【发布时间】:2020-07-29 09:58:23
【问题描述】:
我有这样的数据透视表
这是我的用户模型
public function getHousing()
{
return $this->belongsToMany(Housing::class, 'user_housing', 'user_id', 'housing_id')->withPivot('primary');
}
这是我的住房模型
public function getUser()
{
return $this->belongsToMany(Users::class, 'user_housing', 'housing_id', 'user_id')->withPivot('primary');
}
我想用 1 保存主节点,这是我的控制器
$getData = $this->crud->show($id);
if (!$getData) {
return redirect()->route('admin.' . $this->route . '.index');
}
$data = $this->validate($this->request, [
'housing_group_id' => 'required',
'housing_id' => 'required',
'primary' => 'required',
]);
$getData->housing_id = $getData->getHousing()->pluck('id')->toArray();
$getData->getHousing()->sync($this->request->get('housing_id'), ['primary' => 1]);
$id = $getData->id;
我已经添加了数组填充主 1,但是我有这样的错误
SQLSTATE[HY000]: General error: 1364 Field 'primary' doesn't have a default value
如何在数据透视表 laravel 中保存附加字段? 谢谢
【问题讨论】:
标签: laravel eloquent many-to-many