2011-03-18 39 views
0

我試圖找到.user字段是兩個值中的任何一個的所有消息。rails 3,在heroku上,如何查詢一個字段中的2個不同值中的任何一個?

。用戶是一個字符串

@msgs = Foo.find :all, 
     :order => 'created_at ASC', 
     :conditions => [ "(user = ?) OR (user = ?)", @user1, @user2] 

此查詢,在Heroku(Postgres的)總是返回空

本地運行,它的預期收益數據。

爲什麼這不起作用?我非常肯定@ user1和@ user2中的值確實匹配.user字段中的數據,因爲當我刪除條件時,在VIEW中使用那些相同的變量名進行篩選,可以正常工作。

+0

你能從dev和Heroku發佈一些日誌嗎? – jdl 2011-03-18 23:10:12

+0

不幸的是,沒有什麼可以發佈的,我在執行find()之後記錄了@ msgs.inspect,它只是在Heroku上展示了空的[]以及dev(sqllite)上的所有匹配記錄。 – jpwynn 2011-03-19 04:24:47

回答

1

問題是Postgres的顯然不喜歡有一個名爲「用戶」字段,當我改變了它的工作完美的字段名。

0

或許是區分大小寫的問題?我相信postgres默認是區分大小寫的。

嘗試

:conditions => [ "UPPER(user) = UPPER(?) OR UPPER(user) = UPPER(?)", @user1, @user2] 
+0

不,數據是一個數字字符串,如「123456789」 – jpwynn 2011-03-19 04:22:46

相關問題