【发布时间】:2011-11-01 22:35:34
【问题描述】:
我已经尝试了我能想到的所有发现组合,但还没有 100% 成功。进行此查找的首选(或任何有效的方式)方式是什么:
使用 where 时,出现无法迭代浮点错误。
Question.where('id not in (?) AND rating.id = ? AND pvalue BETWEEN ?', not_in, rating_id, 0.0..100.0).limit(25)
使用条件哈希时,我不知道如何将结果也限制为数组。所以我尝试了两个条件,但我认为 'id not in (?) 部分永远不会变成 sql...它返回 not_in 数组中的结果。
Question.find_all_by_rating_id(rating_id, :limit=>25, :conditions => ['id not in (?)', not_in], :conditions=>{:pvalue => 0.0..100.0})
上面跳过了第一个条件(反正里面有两个看起来不太对...)并返回
SELECT "questions".* FROM "questions" WHERE "questions"."rating_id" = 458 AND ("questions"."pvalue" BETWEEN 0.0 AND 100.0) LIMIT 25
所以我需要哈希条件和不符合条件的 id 的组合。任何帮助表示赞赏!
注意:pvalue 是浮点数,not_in 是我不希望查询返回的 id 数组。
【问题讨论】:
标签: sql ruby-on-rails ruby-on-rails-3 activerecord