Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何更新透视表Laravel上的标记_Laravel - Fatal编程技术网

如何更新透视表Laravel上的标记

如何更新透视表Laravel上的标记,laravel,Laravel,我想编辑一篇文章,要做到这一点,我的控制器上有一个update()方法,问题是我可以毫无问题地更新文章的标题、正文日期,但是文章标签我无法以正确的方式更新它们 也就是说,当我更新并选择一些新文章时,我希望删除旧文章并用新选择的文章进行更新,但是当我尝试下面的代码时,我会将新标签和旧标签放在一起。注意,我有一个称为article_标记的透视表 我的控制器上的更新方法: public function update(Article $articles, ArticleRequest $reques

我想编辑一篇文章,要做到这一点,我的控制器上有一个
update()
方法,问题是我可以毫无问题地更新文章的标题、正文日期,但是文章标签我无法以正确的方式更新它们

也就是说,当我更新并选择一些新文章时,我希望删除旧文章并用新选择的文章进行更新,但是当我尝试下面的代码时,我会将新标签和旧标签放在一起。注意,我有一个称为article_标记的透视表

我的控制器上的更新方法:

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()
它是
manytomy()
模型上的关系。你知道我如何以正确的方式更新标签吗?用新标签删除旧标签

你需要同步,所以试试这个

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');
}