Ruby on rails开发从头来(四十八)- ActiveRecord基础(动态查询)
来源:互联网 发布:手环值得买吗 知乎 编辑:程序博客网 时间:2024/06/11 20:03
例如,我们的Order Model包含了诸如name,email,address这样的属性,我们可以使用这些名字对应的find方法来查询,例如:
order= Order.find_by_name("Dave Thomas")
orders= Order.find_all_by_name("Dave Thomas")
order= Order.find_all_by_email(params['email'])
如果你调用了一个Model类的find_by_或者find_all_by_这样字符串打头的格式的方法,Active Record将它们转换成一个查询器(finder),而将方法后面的字符串作为字段名转换find方法的参数,例如:
order =Order.find_by_name("Dave Thomas",other args...)
上面的调用等效的转换为:
order = Order.find(:first,
:conditions=> ["name = ?", "Dave Thomas"],
other_args...)
类似的,调用一个find_all_by_xxx方法相当于调用find(:all,…)方法。
到这里魔术还没有停止,Active Record还可以对多个列创建查询器(finder),例如,你可以写:
user = User.find_by_name_and_password(name, pw)
相当于:
user = User.find(:first,
:conditions=> ["name = ? and password = ?",name, pw])
为了确定要检查哪些字段,Active Record简单的分割find_by_和find_all_by_后面的字符串,这在大多数情况下是够用的,除非你的根本就没有某个在方法名中包含的字段。
注意,ActiveRecord并不提供在find_by_或find_all_by后面的两个字段名中含有_or_。- Ruby on rails开发从头来(四十八)- ActiveRecord基础(动态查询)
- Ruby on rails开发从头来(四十八)- ActiveRecord基础(动态查询)
- Ruby on rails开发从头来(三十七)- ActiveRecord基础
- Ruby on rails开发从头来(三十八)- ActiveRecord基础(列和属性)
- Ruby on rails开发从头来(三十八)- ActiveRecord基础(列和属性)
- Ruby on rails开发从头来(三十九)- ActiveRecord基础(访问属性)
- Ruby on rails开发从头来(四十)- ActiveRecord基础(Boolean属性)
- Ruby on rails开发从头来(四十一)- ActiveRecord基础(存储结构化数据)
- Ruby on rails开发从头来(四十二)- ActiveRecord基础(主键和ID)
- Ruby on rails开发从头来(四十三)- ActiveRecord基础(连接数据库)
- Ruby on rails开发从头来(四十四)- ActiveRecord基础(创建记录)
- Ruby on rails开发从头来(四十五)- ActiveRecord基础(读取记录)
- Ruby on rails开发从头来(四十六)- ActiveRecord基础(SQL和Active Record)
- Ruby on rails开发从头来(四十七)- ActiveRecord基础(强大的find方法)
- Ruby on rails开发从头来(四十九)- ActiveRecord基础(行数和再加载数据)
- Ruby on rails开发从头来(五十)- ActiveRecord基础(更新记录)
- Ruby on rails开发从头来(五十一)- ActiveRecord基础(并发处理)
- Ruby on rails开发从头来(五十二)- ActiveRecord基础(删除记录)
- GPU在视频转码中的应用研究进展
- Ruby on rails开发从头来(五十一)- ActiveRecord基础(并发处理)
- Ruby on rails开发从头来(五十)- ActiveRecord基础(更新记录)
- Ruby on rails开发从头来(四十九)- ActiveRecord基础(行数和再加载数据)
- node.js 入门(1)
- Ruby on rails开发从头来(四十八)- ActiveRecord基础(动态查询)
- HLSL固有函数 [Intrinsic Functions (DirectX HLSL)]
- Ruby on rails开发从头来(四十七)- ActiveRecord基础(强大的find方法)
- Linux下通用线程池的构建
- DirectSound中关于IID_IDirectSound无法解析的问题
- Deverpress7.1中没有ShowCheckBox属性时的实现办法
- 炎龙传说3攻略之如何加属性值
- Ruby on rails开发从头来(四十六)- ActiveRecord基础(SQL和Active Record)
- EXCEL中汉字转拼音