我在Rails模型中有以下範圍。哪裏不IN()加入?
class Suggestion < ActiveRecord::Base
has_many :favourites
def self.favoured_by(user)
joins(:favourites).where(favourites: { user_id: user.id })
end
end
這很好地工作。它會返回特定用戶喜歡的所有建議。
我該如何檢索所有不受歡迎的建議,或者哪些受到歡迎,但不受此特定用戶的建議?
def self.not_favoured_by(user)
# ...
end
我Favourite
模式是這樣的:
class Favourite < ActiveRecord::Base
belongs_to :suggestion
belongs_to :user
end
你能不能也發表您的'favourite'模式? –
爲什麼你不建立一個關係has_many而不是那個連接? –
@ismaelga @PaulSimpson我在OP中加入了我的'Favourite'模型。 'Favourite'需要是'User'和'Suggestion'之間的連接模型,因爲用戶可以收藏屬於其他用戶的建議。 –