- 学习 Ruby on Rails
- Rails 2.1 首页
- Rails 2.1 简介
- Rails 2.1 安装
- Rails 2.1 框架
- Rails 2.1 目录结构
- Rails 2.1 示例
- Rails 2.1 数据库设置
- Rails 2.1 Active Records (活动记录)
- Rails 2.1 数据迁移
- Rails 2.1 控制器
- Rails 2.1 视图
- Rails 2.1 布局
- Rails 2.1 脚手架
- Rails 2.1 和 AJAX
- Rails 2.1 上传文件
- Rails 2.1 发送邮件
- 高级 Ruby on Rails 2.1
- Rails 2.1 RMagick 指南
- Rails 2.1 基本 HTTP 认证
- Rails 2.1 错误处理
- Rails 2.1 路由系统
- Rails 2.1 单元测试
- 高级 Ruby on Rails 2.1
- Rails 2.1 提示与技巧
- 快速参考指南
- 快速参考指南
- Ruby on Rails 2.1 有用资源
- Ruby on Rails 2.1 - 资源
- Ruby on Rails 2.1 - 讨论
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)
rails-quick-guide.htm
广告