Php laravel:使用saveMany in many-to-many变形时重复记录
我开发了这段代码来保存新标签并将它们与post模型关联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);
$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
表