以下代码无法执行我需要它执行的操作。我想返回一个随机设计对象,其user_id不是1.因此,查询有时不返回任何记录。
offset = rand(Design.count)
@design = Design.first(:offset => offset, :conditions => [ "user_id != ?", 1])
答案 0 :(得分:1)
您要做的是计算符合这些条件的元素数量:
offset = rand(Design.count(:conditions => [ "user_id <> ?", 1]))
答案 1 :(得分:0)
如果数据库相当小,您可以在返回的数组上调用sample方法。
Design.where(:offset => offset, :conditions => [ "user_id != ?", 1]).sample