bra*_*rad 6 activerecord ruby-on-rails ruby-on-rails-3 rails-activerecord
我有一个客户模型,有很多会议.
class Client < ActiveRecord::Base
has_many :meetings
end
class Meeting < ActiveRecord::Base
belongs_to :client
end
Run Code Online (Sandbox Code Playgroud)
我想生成一个ActiveRecord查询,它将返回按最近一次会议的顺序排序的客户端(由meeting_time列确定),但不知道如何执行此操作.我显然需要以某种方式加入表格,但我不知道如何在AR中生成合适的子查询.如何为每个客户编写仅包含1个会议的联接,特别是最近的会议(即给定meetings.client_id的meetings.meeting_time的最高值).我的数据库是PostgreSQL.
我之前遇到过类似的问题,与他们挣扎,显然没有从这个过程中学到很多东西.还可以理解指向良好资源的指针以了解这些情况.
像这样的东西?
Client.joins(:meetings).group('clients.id').order('max(meetings.meeting_time) DESC')
Run Code Online (Sandbox Code Playgroud)
这将:
max(meetings.meeting_time)哪个是每个客户的最近会议| 归档时间: |
|
| 查看次数: |
1904 次 |
| 最近记录: |