如何从Rails数据库中高效筛选基于created_at字段的数据?
- 内容介绍
- 文章标签
- 相关推荐
本文共计505个文字,预计阅读时间需要3分钟。
在Rails中,从数据库的`created_at`字段中筛选数据,可以使用ActiveRecord的查询方法。以下是一个简单的例子:
ruby假设我们有一个模型叫做Post,并且它的created_at字段已经与数据库中的对应字段同步
查询所有在特定时间段内创建的Post记录posts_created_between=Post.where(created_at: start_date..end_date)
查询所有在某个具体时间点之后创建的Post记录posts_created_after=Post.where('created_at > ?', specific_time)
查询所有在某个具体时间点之前创建的Post记录posts_created_before=Post.where('created_at < ?', specific_time)
查询所有在特定时间范围内创建的Post记录posts_created_in_range=Post.where(created_at: start_date.beginning_of_day..end_date.end_of_day)
以上代码示例展示了如何使用Rails的查询接口来筛选基于`created_at`字段的数据。
如何在rails中从基于数据库的created_at中选择数据?例如:
[#<Event id: 1, customer_id: 1, therapist_id: 1, location_id: 1, service_id: 3, walkin: true, cancel: false, cancel_reason: nil, room_id: 5, starts_at: "2014-04-03 21:31:13", stops_at: nil, created_at: "2014-04-14 10:13:52", updated_at: "2014-04-14 10:13:52">, #<Event id: 2, customer_id: 2, therapist_id: 2, location_id: 2, service_id: 2, walkin: false, cancel: false, cancel_reason: nil, room_id: 1, starts_at: "2014-04-05 21:31:13", stops_at: nil, created_at: "2014-04-14 10:13:52", updated_at: "2014-04-14 10:13:52">, #<Event id: 3, customer_id: 1, therapist_id: 2, location_id: 1, service_id: 1, walkin: false, cancel: false, cancel_reason: nil, room_id: 5, starts_at: "2014-04-07 21:31:13", stops_at: nil, created_at: "2014-04-14 10:13:52", updated_at: "2014-04-14 10:13:52">, #<Event id: 4, customer_id: 2, therapist_id: 2, location_id: 2, service_id: 2, walkin: false, cancel: false, cancel_reason: nil, room_id: 1, starts_at: "2014-04-09 21:31:13", stops_at: nil, created_at: "2014-04-14 10:13:52", updated_at: "2014-04-14 10:13:52">, #<Event id: 5, customer_id: 14, therapist_id: 2, location_id: 2, service_id: 1, walkin: true, cancel: false, cancel_reason: "", room_id: 8, starts_at: "2014-04-15 06:47:00", stops_at: "2014-04-15 07:47:00", created_at: "2014-04-15 06:47:14", updated_at: "2014-04-15 06:47:14">]
当我今天收集基于created_at的数据时,我得到的结果是:
<Event id: 5, customer_id: 14, therapist_id: 2, location_id: 2, service_id: 1, walkin: true, cancel: false, cancel_reason: "", room_id: 8, starts_at: "2014-04-15 06:47:00", stops_at: "2014-04-15 07:47:00", created_at: "2014-04-15 06:47:14", updated_at: "2014-04-15 06:47:14">
如何在rails中收集数据created_at的所有数据?
谢谢你
请试试这个:Event.where("DATE(created_at) = DATE(?)", Time.now)
本文共计505个文字,预计阅读时间需要3分钟。
在Rails中,从数据库的`created_at`字段中筛选数据,可以使用ActiveRecord的查询方法。以下是一个简单的例子:
ruby假设我们有一个模型叫做Post,并且它的created_at字段已经与数据库中的对应字段同步
查询所有在特定时间段内创建的Post记录posts_created_between=Post.where(created_at: start_date..end_date)
查询所有在某个具体时间点之后创建的Post记录posts_created_after=Post.where('created_at > ?', specific_time)
查询所有在某个具体时间点之前创建的Post记录posts_created_before=Post.where('created_at < ?', specific_time)
查询所有在特定时间范围内创建的Post记录posts_created_in_range=Post.where(created_at: start_date.beginning_of_day..end_date.end_of_day)
以上代码示例展示了如何使用Rails的查询接口来筛选基于`created_at`字段的数据。
如何在rails中从基于数据库的created_at中选择数据?例如:
[#<Event id: 1, customer_id: 1, therapist_id: 1, location_id: 1, service_id: 3, walkin: true, cancel: false, cancel_reason: nil, room_id: 5, starts_at: "2014-04-03 21:31:13", stops_at: nil, created_at: "2014-04-14 10:13:52", updated_at: "2014-04-14 10:13:52">, #<Event id: 2, customer_id: 2, therapist_id: 2, location_id: 2, service_id: 2, walkin: false, cancel: false, cancel_reason: nil, room_id: 1, starts_at: "2014-04-05 21:31:13", stops_at: nil, created_at: "2014-04-14 10:13:52", updated_at: "2014-04-14 10:13:52">, #<Event id: 3, customer_id: 1, therapist_id: 2, location_id: 1, service_id: 1, walkin: false, cancel: false, cancel_reason: nil, room_id: 5, starts_at: "2014-04-07 21:31:13", stops_at: nil, created_at: "2014-04-14 10:13:52", updated_at: "2014-04-14 10:13:52">, #<Event id: 4, customer_id: 2, therapist_id: 2, location_id: 2, service_id: 2, walkin: false, cancel: false, cancel_reason: nil, room_id: 1, starts_at: "2014-04-09 21:31:13", stops_at: nil, created_at: "2014-04-14 10:13:52", updated_at: "2014-04-14 10:13:52">, #<Event id: 5, customer_id: 14, therapist_id: 2, location_id: 2, service_id: 1, walkin: true, cancel: false, cancel_reason: "", room_id: 8, starts_at: "2014-04-15 06:47:00", stops_at: "2014-04-15 07:47:00", created_at: "2014-04-15 06:47:14", updated_at: "2014-04-15 06:47:14">]
当我今天收集基于created_at的数据时,我得到的结果是:
<Event id: 5, customer_id: 14, therapist_id: 2, location_id: 2, service_id: 1, walkin: true, cancel: false, cancel_reason: "", room_id: 8, starts_at: "2014-04-15 06:47:00", stops_at: "2014-04-15 07:47:00", created_at: "2014-04-15 06:47:14", updated_at: "2014-04-15 06:47:14">
如何在rails中收集数据created_at的所有数据?
谢谢你
请试试这个:Event.where("DATE(created_at) = DATE(?)", Time.now)

