beego框架学习笔记一

https://my.oschina.net/lockupme/blog?sort=time&catalog=3591234&p=1&temp=1489111506889

这里有个框架写博客的教程,我就根据这个来一点一点学习。

记录下发现的问题

1、

cond.And 问题

其中一段在MODEL里写的查询数据库部分

func ListArticle(condArr map[string]string, page int, offset int) (num int64, err error, art []Article) {
       o := orm.NewOrm()
       qs := o.QueryTable("article")
       cond := orm.NewCondition()
       if condArr["title"] != "" {
              cond = cond.And("title__icontains", condArr["title"])
       }
       if condArr["keywords"] != "" {
              cond = cond.Or("keywords__icontains", condArr["keywords"])
       }
       if condArr["status"] != "" {
              //status, _ := strconv.Atoi(condArr["status"])
              cond = cond.And("status", condArr["status"])
       }
其中不太明白,为什么有的是 
cond.And("title__icontains", condArr["title"])
而有的是这样
cond.And("status", condArr["status"])
然后我把
__icontains
这个删除了
在服务器端看到的查询语句是
[SELECT T0.`id`, T0.`title`, T0.`uri`, T0.`keywords`, T0.`summary`, T0.`content`, T0.`author`, T0.`created`, T0.`viewnum`, T0.`status` FROM `article` T0 WHERE T0.`title` = ? LIMIT 10] - `吗`
而没有删除的时候,看到的是
[SELECT T0.`id`, T0.`title`, T0.`uri`, T0.`keywords`, T0.`summary`, T0.`content`, T0.`author`, T0.`created`, T0.`viewnum`, T0.`status` FROM `article` T0 WHERE T0.`title` LIKE ? LIMIT 10] - `%吗%`
哈哈,这下明白了,如果是
"title__icontains"
得到的查询语句中条件的判断是 like,如果是
"title"
得到的查询条件就是 =
2、查询的controllers部分,关键的3句
countArticle := CountArticle(condArr)

paginator := pagination.SetPaginator(this.Ctx, offset, countArticle)
_, _, art := ListArticle(condArr, page, offset)
其中condArr是查询条件,
this.Ctx 对这个内容进行分页
offset 每页的数据条目数,例子里是从配置文件中读取的
countArticle 要显示的条目总数


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值