Ruby on Rails 2.1 - 查找器
以下是查找有条件和无条件记录的方法 −
以下代码将查找 ID 为 50 的作者。
Author.find(50)
以下代码将查找 ID 为 20、30 和 40 的作者。
Author.find([20,30, 40])
以下代码将查找所有作者 −
Author.find :all
以下代码将查找所有名字为 alam 的作者。
Author.find :all :condition => ["first_name =?", "alam" ]
以下代码将查找名字为 alam 的作者的第一条记录。
Author.find :first :condition => ["first_name =?", "alam" ]
查找器选项
您可以将以下选项与 find 函数一起使用。
:order => 'name DESC' 使用此选项按升序或降序对结果进行排序。
:offset => 20 从偏移量 20 开始获取记录。
:limit => 20 仅返回 20 条记录。
:group => 'name' 这相当于 SQL 片段 GROUP BY。
:joins => LEFT JOIN ...' 附加 LEFT JOIN(很少使用)。
:include => [:account, :friends] 这是这些模型的 LEFT OUTER JOIN。
:select => [:name, :address] 使用它代替 SELECT * FROM。
:readonly => true 使用此选项可使对象具有写保护。
基于动态属性的查找器
您可以使用更多动态函数来获取值。
如果有字段 user_name,则可以使用以下内容按用户名查找记录。
Person.find_by_user_name(user_name)
如果有字段 last_name,则可以使用以下内容按姓氏查找记录。
Person.find_all_by_last_name(last_name)
如果有字段 user_name 和 password,则可以使用以下内容查找给定用户名和密码的记录。
Person.find_by_user_name_and_password(user_name, password)