我有 2 个模型(调查和类别),通过数据透视表建立多对多关系。
我希望能够使用 updateExistingPivot 更新这些记录,但收到此错误:
SQLSTATE[42S22]: Column not found: 1054 Unknown column '0' in 'field list' (SQL: update `category_survey` set `0` = 2, `1` = 3 where `survey_id` = 2 and `category_id` in (2))
模型调查:
public function categories()
{
return $this->belongsToMany(Category::class)
->as('categories');
}
我正在尝试调用这样的方法:
$survey->categories()->updateExistingPivot($survey->id, $request['categorias']);
$request['categorias'] 包含类别 ID 数组。
你能帮我吗?谢谢
最佳答案
我认为 sync () 方法更适合您的情况,此方法构造多对多关联并接受要放置在中间表上的 ID 数组:
$survey->categories()->sync($request['categorias']);
关于laravel - 使用 updateExistingPivot 更新数据透视表 - Laravel 8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65936213/