Ruby教程(四十五)- ActiveRecord基础(读取记录)

来源:岁月联盟 编辑:zhu 时间:2009-01-10

  读取记录包括指定那些特定的数据是你感兴趣的,你给Active Record指定标准,Active Record再返回给你一些对象,其中包含了符合条件的记录的数据。

  在一个表中检索数据的最简单的办法就是指定主键,任何一个Model都支持find()方法,该方法支持一个或多个主键值,如果只指定了一个主键,将会返回对应的对象,如果指定了多个主键给find方法,该方法一组相应的对象。注意,当没有任何符合条件的数据的时候,将会抛出一个RecordNotFound异常,所以如果find方法没有抛出这个异常的话,返回的数组中的对象个数就等于给find方法指定的id数目。

an_order = Order.find(27) # find the order with id == 27
# Get a list of order ids from a form, then
# sum the total value
order_list = params[:order_ids]
orders = Order.find(order_list)
count = orders.size

  通常,在查询的时候都要用到除过id以外的值,Active Record提供了一组设置来执行这些查询,我们会介绍find使用方法,从基本的查询,再到高阶些的动态查询。

  到现在我们只是了解了find方法的最基本的内容,通过指定id来获取一个或一组对象。另外,我们还可以使用一些标记比如:first,:all来作为find方法的参数。

  :first将返回符合条件的第一条记录,:all将返回所有符合条件的记录,下一篇我们来看看Active Record是如何处理sql的。