2013-07-04 48 views
0

什麼是正確的語法,來查詢所有者不是CURRENT_USER:什麼是對紅寶石不平等的語法,其中查詢

.where(owner_id: != current_user.id, recipient_id: current_user.id, owner_type: "User") 

我嘗試這樣做:

where(['current_user.id <> ?', :owner_id ], recipient_id: current_user.id, owner_type: "User") 

,並得到:

undefined method `%' for ["current_user.id <> ?", :owner_id]:Array 
+0

你試過'這裏( 'owner_id!=?',current_user.id)'? – Huy

回答

1

我在評論中發佈了一個解決方案,但你也可以做類似

.where("owner_id != #{current_user.id} AND recipient_id = #{current_user.id} AND owner_type = \"User\"")

+0

我認爲一個double似乎工作就像:.where('owner_id!=?',current_user.id).where(recipient_id:current_user.id,owner_type:「User」)。限制(10)任何速度差異或什麼? – Jaqx

+0

你的答案給了我PGError:錯誤:列「用戶」不存在 – Jaqx

+0

嘗試小寫用戶...'用戶' – Huy

1

嘗試使用其他where方法調用每個條件,這些都將生成SQL AND

Something.where("owner_id <> ?", current_user.id) 
    .where("recipient_id = ?", current_user.id) 
    .where("owner_type = ?", "User")