![](/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.