014 对model进行计算
原创
©著作权归作者所有:来自51CTO博客作者fsjoy1983的原创作品,请联系作者获取转载授权,否则将追究法律责任
Did you know ActiveRecord provides class methods for performing calculations on models? You can even use these methods through associations.
你知道ActiveRecord提供了许多类方法,用来实现对model属性的计算吗?你甚至可以通过关联来适用这些方法。
打开console
>>Task.find(:first).priority
=>4
priority是task类的对象的一个属性。
可以计算这个类的所有对象这个属性的和:
>>Task.sum(:priority)
=>15
还可以加上conditions
>>Task.sum(:priority, :conditions=>"complete=0")
=>13
>>Task.maximum(:priority)
=>4
=>Task.minimum(:priority)
=>1
=>Task.average(:priority)
=>2.5
下面来看个通过关联来使用计算方法的例子:
>>p=Project.find(:first)
=>#<Project :0x32dce38 @attributes={"name"=>"Programming", "id"=>"1"}>
=>p.tasks.sum(:priority)
=>9
>>p.tasks.sum(:priority, :condition=>"complete=0")
=>7
下面是这些计算方法
上一篇:012 重构用户名(第三部分)
下一篇:015 有趣的查询条件
![](https://ucenter.51cto.com/images/noavatar_middle.gif)
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
014-案例开发.Storm计算网站PV
高并发多线程下采用storm统计网站的pv数据
storm java ide 单线程