Php Laravel/雄辩的归属感多个关系

Php Laravel/雄辩的归属感多个关系,php,laravel,eloquent,Php,Laravel,Eloquent,我试图一次更新多个关系,但是,只有最后的同步调用实际保存到数据库中,代码如下: // find article by ID $article = Article::find($id); // Update status relationships $article->authoringStatus()->sync([$request->authoringStatus]); $article->publicationStatus()->sync([$request-

我试图一次更新多个关系,但是,只有最后的同步调用实际保存到数据库中,代码如下:

// find article by ID
$article = Article::find($id);

// Update status relationships
$article->authoringStatus()->sync([$request->authoringStatus]);
$article->publicationStatus()->sync([$request->publicationStatus]); // Only this one syncs

// save the rest of the request data
$article->update($request->all());

如果交换sync语句,仍然只有最后一个语句保存到数据库中。知道为什么会发生这种情况吗?

是的,这是因为sync从pivot表中删除所有记录,然后插入新记录。第二次同步将覆盖在第一次同步中插入的任何内容。

Gotcha!我对这两种状态类型使用相同的透视表,需要考虑不同的方法。谢谢