0

下面的代码没有做我需要它做的事情。我想返回一个 user_id 不是 1 的随机设计对象。事实上,查询有时不返回任何记录。

   offset = rand(Design.count)
   @design = Design.first(:offset => offset, :conditions => [ "user_id != ?", 1])
4

2 回答 2

1

您要做的是计算也符合这些条件的元素的数量:

offset = rand(Design.count(:conditions => [ "user_id <> ?", 1]))
于 2012-07-06T20:18:22.987 回答
0

如果数据库很小,您可以在返回的数组上调用示例方法。

Design.where(:offset => offset, :conditions => [ "user_id != ?", 1]).sample
于 2012-07-07T16:48:27.517 回答