我已经尝试了所有我能想到的发现组合,并没有取得100%的成功。这样做的首选(或任何有效的方式)是什么:
当使用where时,我得到一个不能迭代浮点错误。
Question.where('id not in (?) AND rating.id = ? AND pvalue BETWEEN ?', not_in, rating_id, 0.0..100.0).limit(25)
使用条件哈希时,我无法弄清楚如何将结果限制为数组。所以我尝试了两个条件,但我认为'不在(?)部分的id不会变成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数组,我不想让查询返回。
答案 0 :(得分:0)
尝试
Question.where("id not in (?) AND rating.id = ? AND pvalue BETWEEN ? AND ?",
not_in,
rating_id,
0.0, 100.0
).limit(25)