我想编辑一篇文章,为此我在我的控制器上有一个update()
方法,问题是我可以更新文章的标题,正文日期没有任何问题,但文章标签我无法以正确的方式更新它们。
当我更新并选择一些新文章时,我希望删除旧文章并使用新选择的文章进行更新,但是当我尝试下面的代码时,我会将新旧标签放在一起。注意我有一个名为article_tags的数据透视表。
我的控制器上的更新方法:
public function update(Article $articles, ArticleRequest $request)
{
//update the article
$articles->update($request->all());
//attach new tags to the article
$articles->tags()->attach($request->input('tag_list'));
return redirect('articles');
}
注意tags()
manyToMany()
模型上的Tag
关系。我知道如何以正确的方式更新标签,用新标签删除旧标签?!
答案 0 :(得分:1)
你需要同步,所以试试这个
public function update(Article $articles, ArticleRequest $request)
{
//update the article
$articles->update($request->all());
//attach new tags to the article
$articles->tags()->sync($request->input('tag_list'));
return redirect('articles');
}