GORM:sql: no rows in result set

6 篇文章 0 订阅
4 篇文章 0 订阅

直入主题,这是我在写分页和获取数据总数同时查询的时候报的错误;
其原因就是把查询总数的语句写在了分页查询后面,正确的应该放在分页查询前面,只有知道总数才能够分页查询的,修正后代码

//查询文章列表以及查询某个参数 - model
func FIndArticle(c *gin.Context,params *entity.ArticleQuery) (body []entity.Article,total int64,err error) {

	Db := BlogDB()

	if title,isExist := c.GetQuery("title"); isExist == true {
		Db = Db.Where("title = ?",title)
	}
	if params.StartTime >0 && params.EndTime>0 {
		Db = Db.Where("create_at  BETWEEN ? AND  ?",params.StartTime,params.EndTime)
	}
	if params.TypeId >0 {
		Db = Db.Where("type_id = ?",params.TypeId)
	}
	if err = Db.Model(entity.Article{}).Count(&total).Error;err != nil {
		logrus.New().WithFields(logrus.Fields{
			"animal": err,
		}).Info("GetArticle - model - count")
		return
	}
	if params.Current>0 && params.PageSize>0 {
		Db = Db.Offset((params.Current - 1) * params.PageSize).Limit(params.PageSize)
	}

	if err = Db.Find(&body).Error; err != nil {
		logrus.New().WithFields(logrus.Fields{
			"animal": err,
		}).Info("GetArticle - model - find")
		return
	}

	if gorm.IsRecordNotFoundError(err) {
		err = nil
	}
	return
}

惭愧
本文连接:点击
博主个人小博客嘿嘿

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值