2011-11-01 46 views
0

我尝试了所有可以发现的组合,并且没有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

尝试

Question.where("id not in (?) AND rating.id = ? AND pvalue BETWEEN ? AND ?", 
    not_in, 
    rating_id, 
    0.0, 100.0 
).limit(25) 
+0

完美,谢谢! – Danny