【发布时间】:2011-03-10 22:12:39
【问题描述】:
我有以下关系:
class Article < ActiveRecord::Base
has_and_belongs_to_many :required_certs, :class_name=>"Certification"
...
end
class User < AR::B
has_and_belongs_to_many :certifications
...
end
我希望能够找到与文章具有相同认证的所有用户。因此,如果一篇文章有证书 A 和 B,而用户有 A、B、C、D,则该用户将被返回。只有 A 或只有 B 的用户不会。所以本质上,像
User.joins(:certifications).where('certifications.id IN (?)', @article.required_certs.collect{|c| c.id})
我认为我必须使用 AND 而不是使用 IN 运算符,因为我只想要拥有所有指定证书的用户。
我很难过,所以任何帮助将不胜感激!
谢谢
【问题讨论】:
标签: sql ruby-on-rails ruby-on-rails-3 has-and-belongs-to-many