Ruby on Rails - 查找器



以下是查找有条件和无条件记录的方法:

以下将查找 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-references-guide.htm
广告