`
123fly
  • 浏览: 12033 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

rails 查询(2)

    博客分类:
  • ruby
阅读更多

2. 获取多个数据

2.1 使用多个主键

Model.find(array_of_primary_key) 方法可接受一个由主键组成的数组,返回一个由主键对应记录组成的数组

代码

# Find the clients with primary keys 1 and 10.
client = Client.find([1, 10]) # Or even Client.find(1, 10)
# => [#<Client id: 1, first_name: "Lifo">, #<Client id: 10, first_name: "Ryan">]

 2.2 take

Model.take(limit) 方法获取 limit 个记录,不考虑任何顺序

代码

Client.take(2)
# => [#<Client id: 1, first_name: "Lifo">,
      #<Client id: 2, first_name: "Raf">]

 2.3 first

Model.first(limit) 方法获取按主键排序的前 limit 个记录

代码

Client.first(2)
# => [#<Client id: 1, first_name: "Lifo">,
      #<Client id: 2, first_name: "Raf">]

 2.4 last

Model.last(limit) 方法获取按主键降序排列的前 limit 个记录

代码

Client.last(2)
# => [#<Client id: 10, first_name: "Ryan">,
      #<Client id: 9, first_name: "John">]

 3.批量获取多个对象

3.1 for_each

find_each 方法获取一批记录,然后分别把每个记录传入代码块。在下面的例子中,find_each 获取 1000 个记录,然后把每个记录传入代码块,直到所有记录都处理完为止

代码

User.find_each do |user|
  NewsLetter.weekly_deliver(user)
end

 3.2find_in_batches

find_in_batches 方法和 find_each 类似,都获取一批记录。二者的不同点是,find_in_batches 把整批记录作为一个数组传入代码块,而不是单独传入各记录。在下面的例子中,会把 1000 个单据一次性传入代码块,让代码块后面的程序处理剩下的单据

代码

# Give add_invoices an array of 1000 invoices at a time
Invoice.find_in_batches(include: :invoice_lines) do |invoices|
  export.add_invoices(invoices)
end

 

分享到:
评论

相关推荐

    rails查询学习笔记

    标题 "rails查询学习笔记" 涉及的是Ruby on Rails框架中的数据库查询技术。Ruby on Rails,简称Rails,是一款基于Ruby语言的开源Web应用程序框架,它遵循MVC(模型-视图-控制器)架构模式,使得开发Web应用更加高效...

    Ruby on Rails Guides v2 - Ruby on Rails 4.2.5

    ### Ruby on Rails Guides v2 - Ruby on Rails 4.2.5 #### 一、重要概念及基础假设 - **重要概念**:本指南旨在帮助读者深入理解Ruby on Rails(以下简称Rails)4.2.5版本的核心功能与最佳实践。 - **基础假设**:...

    Rails3的ActiveRecord 查询API.doc

    在 Rails 2.x 中,许多使用哈希参数的查询方法如 `:conditions`, `:include`, `:joins` 等在 Rails 3.1 中被标记为过时,虽然在3.1版本中仍然可用,但计划在 Rails 3.2 中完全移除。这些变化主要是为了引入一个新的...

    rails2.3.2

    在这一版本中,Active Record 提供了更强大的查询接口,包括 SQL 方法的集成和更灵活的关系管理。 2. Action Pack:包含了 MVC 架构中的 Controller 和 View 部分。Controller 处理 HTTP 请求并调用 Model,View ...

    RAILS2.1的中文版资料

    Rails 2.1增强了命名范围查询的功能,使其更加灵活且易于使用。 **基于UTC的迁移(UTC-based migrations)** 为了确保数据的一致性和准确性,Rails 2.1现在支持基于协调世界时(UTC)的数据库迁移。这种改进有助于...

    Ruby on Rails入门例子

    2. 创建资源:使用`rails generate controller Posts`生成控制器,再用`rails generate scaffold Post title:string content:text`生成模型和相关的控制器、视图及路由。 3. 迁移数据库:编写迁移文件,更新数据库表...

    Rails进行敏捷Web开发(所有版本的源码rails3.0-4.0)

    2. Rails 3.1: 这个版本引入了Asset Pipeline,它管理应用程序的CSS、JavaScript和其他静态资源,提高了加载速度并支持压缩和合并。另外,它还引入了CoffeeScript和Sass作为默认的JavaScript和CSS预处理器,提升了...

    Rails 3 in Action

    2. **Rails 3.1新特性**: - **Asset Pipeline**:Rails 3.1引入了Asset Pipeline,将CSS、JavaScript、图片等静态资源管理整合到一个统一的流程中,提高了页面加载速度。 - **CoffeeScript**:默认使用...

    rails向导打包

    1. **Active Record 查询接口**: Active Record 是 Rails 的核心组件之一,它负责模型和数据库之间的交互。这个文件详细介绍了如何在 Rails 中使用查询语言来检索、过滤和操作数据。这包括基本的查找方法(如 `find`...

    Advanced Rails

    2. **复杂的路由**:Rails的路由系统允许灵活地定义资源和URL结构。高级Rails会讲解如何创建更复杂的路由规则,如命名空间、嵌套资源和条件路由。 3. **ActiveRecord高级用法**:ActiveRecord是Rails的ORM(对象...

    Rails3常用命令行命令

    在控制台中,你可以直接操作应用的数据模型和执行各种Ruby代码,进行数据查询和调试。 为了启动Rails应用的服务,你可以运行: ```bash rails server -p *** ``` 这里的`***`代表你想让服务器监听的端口号。默认...

    rails4.0.0

    2. **查询接口(Query Interface)** 这个版本加强了查询接口,引入了`exists?`方法,可以用来检查是否存在特定的记录,而不会加载整个对象。此外,`pluck`方法允许开发者直接从数据库中抽取指定列的数据,无需创建...

    好用的rails 2.0 Api 文档

    Rails 2.0提供了ActiveRecord查询接口(Query Interface),允许开发者编写复杂的数据库查询。包括find、where、all、exists?等方法,可以进行条件筛选、分组、联接、排序等操作。 **8. Plugins和Gemfile** Rails ...

    Ruby+for+Rails

    2. **Rails的安装** 安装Rails之前,需要确保RubyGems已经安装,它是Ruby的包管理器。然后,通过`gem install rails`命令安装最新版本的Rails。同样,可以用`rails -v`检查Rails版本。 3. **MySQL数据库** MySQL...

    ruby on rails 开发环境包(ruby1.8.7,rails2.2.3)

    2. **安装Rails**:安装完Ruby后,使用gem包管理器安装Rails 2.2.3。运行`gem install rails -v 2.2.3`命令即可。 3. **创建新项目**:使用Rails命令行工具创建一个新的Rails项目。在终端中输入`rails new project_...

    rails 2.2.2 API

    2. **模型(Models)**:Rails 使用 Active Record,这是一个 ORM(对象关系映射)库,允许开发者用 Ruby 代码操作数据库。模型定义数据结构、关联、验证和业务逻辑。 3. **视图(Views)**:视图负责展示数据,...

    Rails 指南

    本文介绍如何开始使用Ruby on Rails,读完本文后,您将学到: 如何安装Rails,创建Rails应用,如何连接数据库; Rails应用的基本文件结构; MVC(模型,视图,控制器)和REST架构的基本原理; 如何快速生成Rails应用...

    配置高可用的rails

    优化rails应用的响应时间可以从数据库查询优化、视图渲染优化、静态资源服务优化等多方面着手。 - Web框架基准测试:了解不同Web框架的性能基准,可以帮助我们选择合适的工具和优化手段。基准测试能够提供不同框架...

Global site tag (gtag.js) - Google Analytics