本章节主要学习下beego 文章评论数及最后评论时间展示、分类对应文章数,以及文章添加标签处理。
1、文章评论数及最后评论时间展示: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、模板修改,就不细说。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、模板修改,不细说。
微信订阅号
已有0条评论