本文整理汇总了Golang中github.com/jxufeliujj/blog/models.Tag.MergeTo方法的典型用法代码示例。如果您正苦于以下问题:Golang Tag.MergeTo方法的具体用法?Golang Tag.MergeTo怎么用?Golang Tag.MergeTo使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/jxufeliujj/blog/models.Tag
的用法示例。
在下文中一共展示了Tag.MergeTo方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: batch
//批量操作
func (this *TagController) batch() {
ids := this.GetStrings("ids[]")
op := this.GetString("op")
idarr := make([]int64, 0)
for _, v := range ids {
if id, _ := strconv.Atoi(v); id > 0 {
idarr = append(idarr, int64(id))
}
}
switch op {
case "upcount": //更新统计
for _, id := range idarr {
obj := models.Tag{Id: id}
if obj.Read() == nil {
obj.UpCount()
}
}
case "merge": //合并到
toname := strings.TrimSpace(this.GetString("toname"))
if toname != "" && len(idarr) > 0 {
tag := new(models.Tag)
tag.Name = toname
if tag.Read("name") != nil {
tag.Count = 0
tag.Insert()
}
for _, id := range idarr {
obj := models.Tag{Id: id}
if obj.Read() == nil {
obj.MergeTo(tag)
obj.Delete()
}
}
tag.UpCount()
}
case "delete": //批量删除
for _, id := range idarr {
obj := models.Tag{Id: id}
if obj.Read() == nil {
obj.Delete()
}
}
}
this.Redirect("/admin/tag", 302)
}