0
我有一個Image
模型和User
模型。 我將它們與HABTM關係likes
結合在一起。 也Image
屬於User
查詢不在連接表
我想要找到所有圖像,不屬於一個用戶,並沒有被該用戶喜歡。 我似乎無法想出哪裏的條件。
這是我有:
@image = Image.where("user_id != :user_id AND image_id NOT IN :likes", {:user_id => session[:user].id, :likes => session[:user].likes}).first
這裏是我的Image
和User
型號:
class Image < ActiveRecord::Base
# attr_accessible :title, :body
belongs_to :user
has_and_belongs_to_many :likes, :class_name => 'User'
end
class User < ActiveRecord::Base
# attr_accessible :title, :body
has_many :submitted_images, :class_name => 'Image'
has_and_belongs_to_many :likes, :class_name => 'Image'
end
有人可以幫我想出這個查詢?謝謝!
編輯
語法錯誤我得到:
PG::Error: ERROR: syntax error at or near "3"
LINE 1: ... FROM "images" WHERE (user_id != 1 AND image_id NOT IN 3,5) LIMIT...
^
: SELECT "images".* FROM "images" WHERE (user_id != 1 AND image_id NOT IN 3,5) LIMIT 1
如果你看一下我的images_users
AKA likes
表中可以看到那裏的3,5
是從我的錯誤來:
嗯,我仍然得到同樣的錯誤 - 剛剛更新與它的問題。 – Deekor
@Deekor嘗試更新的答案。 –
它有效。謝謝! – Deekor