public function syncTags($item, $tag_ids)
{
// item_idに紐づくcurrent_tag_idsを取得
$current_tag_ids_raw = $this->getByItemId($item->id);
$current_tag_ids = array();
foreach ($current_tag_ids_raw as $current_tag) {
$current_tag_ids[] = (string) $current_tag->tag_id;
}
// attachとdetachするtag_idを取得
$new_tags = array_merge(array_diff($tag_ids, $current_tag_ids), array());
$delete_tags = array_merge(array_diff($current_tag_ids, $tag_ids), array());
$this->attachTags($item->id, $new_tags);
$this->detachTags($item->id, $delete_tags);
}