我正在尝试查找所有.user字段都是两个值的消息。
.user是一个字符串
@msgs = Foo.find :all,
:order => 'created_at ASC',
:conditions => [ "(user = ?) OR (user = ?)", @user1, @user2]
此查询,在heroku(postgres)上始终返回空
在本地运行,它按预期返回数据。
为什么这不起作用?我绝对肯定@ user1和@ user2中的值匹配.user字段中的数据,因为当我删除条件然后使用相同的变量名称在VIEW中过滤它可以正常工作。
答案 0 :(得分:1)
问题是postgres显然不喜欢有一个名为'user'的字段,当我更改它完美运行的字段名时。
答案 1 :(得分:0)
也许是区分大小写的问题?我相信postgres默认情况下区分大小写。
尝试
:conditions => [ "UPPER(user) = UPPER(?) OR UPPER(user) = UPPER(?)", @user1, @user2]