ActiveRecord - 列出所有 parents 没有一个特定的 child
ActiveRecord - List all parents DO NOT have one specific child
我在用户和徽章之间有 many-to-many 关系。
class Badge < ActiveRecord::Base
has_and_belongs_to_many :users
end
class User < ActiveRecord::Base
has_and_belongs_to_many :badges
end
一个用户可以拥有多个徽章。
如何使用 ActiveRecord 有效地列出所有没有特定徽章 ID 的用户?
我有很多用户和徽章。
您可以 select user_id 不在加入 table 具有该徽章 ID 的记录中的所有用户。
User.where('id NOT IN (SELECT user_id FROM badges_users WHERE badges_users.badge_id = ?)', badge.id )
我在用户和徽章之间有 many-to-many 关系。
class Badge < ActiveRecord::Base
has_and_belongs_to_many :users
end
class User < ActiveRecord::Base
has_and_belongs_to_many :badges
end
一个用户可以拥有多个徽章。
如何使用 ActiveRecord 有效地列出所有没有特定徽章 ID 的用户?
我有很多用户和徽章。
您可以 select user_id 不在加入 table 具有该徽章 ID 的记录中的所有用户。
User.where('id NOT IN (SELECT user_id FROM badges_users WHERE badges_users.badge_id = ?)', badge.id )