golang beego框架学习(六)

AndyYang| 阅读:880 发表时间:2017-04-18 21:54:40 golang
摘要:本章节主要学习下beego 文章评论数及最后评论时间展示、分类对应文章数,以及文章添加标签处理。

本章节主要学习下beego 文章评论数及最后评论时间展示、分类对应文章数,以及文章添加标签处理。

1、文章评论数及最后评论时间展示:
a、修改models/models.go的AddReply方法,底部增加:
topic := &Topic{Id: tidNum}
if o.Read(topic) == nil {
    topic.ReplyTime = time.Now()
    topic.ReplyCount++
    _, err = o.Update(topic)
}

return err
b、修改models/models.go的DeleteReply方法,底部增加:
replies := make([]*Comment, 0)
qs := o.QueryTable("comment")
_, err = qs.Filter("tid", tidNum).OrderBy("-created").All(&replies)
if err != nil {
    return err
}

topic := &Topic{Id: tidNum}
if o.Read(topic) == nil {
    topic.ReplyTime = replies[0].Created
    topic.ReplyCount = int64(len(replies))
    _, err = o.Update(topic)
}
return err
c、模板修改,就不细说。

2、分类对应文章数修改:
a、修改models/models.go的AddTopic方法,底部增加:
cate := new(Category)
qs := o.QueryTable("category")
err = qs.Filter("title", category).One(cate)
if err == nil {
    // 如果不存在我们就直接忽略,只当分类存在时进行更新
    cate.TopicCount++
    _, err = o.Update(cate)
}

return err
b、修改models/models.go的ModifyTopic方法,底部增加:
if len(oldCate) > 0 {
    cate := new(Category)
    qs := o.QueryTable("category")
    err = qs.Filter("title", oldCate).One(cate)
    if err == nil {
        cate.TopicCount--
        _, err = o.Update(cate)
    }
}

cate := new(Category)
qs := o.QueryTable("category")
err = qs.Filter("title", category).One(cate)
if err == nil {
    cate.TopicCount++
    _, err = o.Update(cate)
}

return nil
c、模板修改,不细说。

3、文章添加标签
a、controllers下topic.go修改,加多lable参数传递,分别是models.AddTopic和models.ModifyTopic方法。

b、models下的models.go修改:
AddTopic方法:
lable = "$" + strings.Join(strings.Split(lable, " "), "#$") + "#"

GetTopic方法:
topic.Lables = strings.Replace(strings.Replace(
        topic.Lables, "#", " ", -1), "$", "", -1)

ModifyTopic方法:
lable = "$" + strings.Join(strings.Split(lable, " "), "#$") + "#"

GetAllTopics方法:
if len(lable) > 0 {
    qs = qs.Filter("lables__contains", "$"+lable+"#")
}

github:https://github.com/yangsir/beego_study

本文为AndyYang原创,转载请注明出处!
如果您觉得好,可以打赏作者:
如果您觉得累了,是否想看点美女养养眼:猛戳>>朋友帮
如果您觉得皮了,是否想来点神吐槽:猛戳>>iPhone查询中

已有0条评论

昵称:
邮箱:

  • 最新评论

iPhone查询中 - bbs.ipcxz.com 朋友帮 - www.pengyb.cn iPhone查询中 - bbs.ipcxz.com
反馈
微信订阅号