假设:
Room (id, updated_at)
RoomMember (room_id, user_id)
User (id)
在rails中,如何在过去24小时内获取属于所有会议室的所有用户
由于
答案 0 :(得分:2)
User.select('distinct users.*').joins(:rooms).where('rooms.updated_at > ?', 1.day.ago)
答案 1 :(得分:1)
假设您的模型如下:
class User
has_many :room_members
has_many :rooms, :through => :room_members
end
class RoomMember
belongs_to :user
belongs_to :room
end
class Room
has_many :room_members
has_many :users, :through => :room_members
end
您可以使用以下内容:
User.all(:select => "DISTINCT users.*",
:joins => :rooms, :conditions => ["rooms.updated_at >=", 1.day.ago])