ruby on rails,条件查询的方法:order,limit,offset的总结整理

order: 对结果进行排序,eg: 将返回的对象按照名称升序排列,按照创建时间降序排列等。

limit:   对结果的数量进行限制,eg:数据库中有成千上万的注册用户,我们不希望一下子把这些用户的信息都取出来,而是希望将这些用户分页显示,点击下一页才进行下一次读取。

limit方法,是读取第一页的N个用户,第二页需要返回的用户都需要将前面的N记录跳过,这里就用到了offset方法。

所以说,order;limit;offset方法配合使用就可以实现分页功能。

User对象按照id的值进行升序排列后,跳过前面10条数据(offset),返回4条对象(limit)

User.order("id").limit(4).offset(10)

liimit , offset 方法参数都是一个整数,

limit: 限制查询记录的个数

offset:跳过记录的个数

order方法的参数接受一个sql语法的条件,格式是

table_name.column_name ASC/DSC

 

如果对象涉及一个表的话,可以不指定表名。不指定排序方向的话,缺省是升序。

不过我觉得最好还是别偷懒都写上吧,以增加程序的可读性和避免混乱。尤其是一个对象是由多个表join在一起以及各个表中有相同名字字段的时候。

所以上面的查询语句最好写成

User.order("user.id ASC").limit(4).offset(10)

对于布尔值,false值是0,true值是1,排序的使用用得上。

引用文章:http://blog.csdn.net/abbuggy/article/details/8094043

 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值