Sql Rails基于特定关联的属性查询记录

Sql Rails基于特定关联的属性查询记录,sql,ruby-on-rails-4,Sql,Ruby On Rails 4,我有一个三层模型关系,定义如下: class User < ActiveRecord::Base has_many :orders scope :with_key, ->(key) { joins(:orders).merge( Order.with_key(key) ) } end class Order < ActiveRecord::Base belongs_to :user has_many :tags scope :with_key, -&g

我有一个三层模型关系,定义如下:

class User < ActiveRecord::Base
  has_many :orders

  scope :with_key, ->(key) { joins(:orders).merge( Order.with_key(key) ) }
end

class Order < ActiveRecord::Base
  belongs_to :user
  has_many :tags

  scope :with_key, ->(key) { joins(:tags).merge( Tag.with_key(key) ) }
end

class Tag < ActiveRecord::Base
  belongs_to :order
  attr_accessible :key

  scope :with_key, ->(key) { where(key: key) }
end
然而,这不是我需要的。
如何查找其最后一个订单标签上有“some_key”作为键的所有用户

User.with_key("some_key") #=> All users whose orders have a tag with "some_key" as key