我在用户和徽章之间有多对多的关系。
class Badge < ActiveRecord::Base
has_and_belongs_to_many :users
end
class User < ActiveRecord::Base
has_and_belongs_to_many :badges
end
用户可以拥有许多徽章。
如何使用ActiveRecord高效列出所有没有特定徽章ID的用户?
我有很多用户和徽章。
答案 0 :(得分:0)
您可以选择user_id不在具有该徽章ID的联接表记录中的所有用户。
User.where('id NOT IN (SELECT user_id FROM badges_users WHERE badges_users.badge_id = ?)', badge.id )