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_namepassword,则可以使用以下内容查找给定用户名和密码的记录。

Person.find_by_user_name_and_password(user_name, password)

rails-quick-guide.html