Php laravel:使用saveMany in many-to-many变形时重复记录

Php laravel:使用saveMany in many-to-many变形时重复记录,php,laravel,Php,Laravel,我开发了这段代码来保存新标签并将它们与post模型关联 $tags_obj = []; foreach($tags as $tag){ $new_tag = \App\Tag::firstOrNew(['name' => $tag]); array_push($tags_obj, $new_tag); } $saved_tags = $post->tags()->saveMany($tags_obj);

我开发了这段代码来保存新标签并将它们与post模型关联

    $tags_obj = [];

    foreach($tags as $tag){

        $new_tag = \App\Tag::firstOrNew(['name' => $tag]);
        array_push($tags_obj, $new_tag);
    }

   $saved_tags =  $post->tags()->saveMany($tags_obj);

    $tags_id = array_map(function($tag){
             return $tag->id;
      },$saved_tags);

    $post->tags()->sync($tags_id);
新的标签将保存在
标签
表格中,但重复的数据将保存在
标签
表格中,这意味着
saveMany
方法同时触摸
标签
标签
表格,并且无法检查
taggable
表中是否存在重复记录。是否有任何方法防止
saveMany
接触
taggable