![](/img/trans.png)
[英]Active Record query to find records that match all conditions in Rails has_many through relationship
[英]Rails has_many through query - find all excluding a subset
通过用户,我希望能够获得所有未由该用户添加书签的公司。
例如在公司{A,B,C,D,E,F}中
如果用户1加了书签{A,E}
我希望能够查询用户以获取{B,C,D,F}
class User < ActiveRecord::Base
has_many :bookmarks
has_many :companies, :through => :bookmarks
end
class Bookmark < ActiveRecord::Base
belongs_to :user
belongs_to :company
end
class Company < ActiveRecord::Base
has_many :bookmarks
has_many :users, :through => :bookmarks
end
你有逻辑。 您只需要实现它
获取所有公司的记录
all_companies = Company.all
获取该用户的所有公司
user_companies = User.find(id).companies
减去两个数组
not_user_companies = all_companies - user_companies
我刚刚检查了一下,您可以互相减去ActiveRecord_Associations_CollectionProxy
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.