0
以下代码不会执行我需要的操作。我想返回其user_id不是1的随机设计对象。因为该查询有时不返回任何记录。获取条件的随机记录
offset = rand(Design.count)
@design = Design.first(:offset => offset, :conditions => [ "user_id != ?", 1])
以下代码不会执行我需要的操作。我想返回其user_id不是1的随机设计对象。因为该查询有时不返回任何记录。获取条件的随机记录
offset = rand(Design.count)
@design = Design.first(:offset => offset, :conditions => [ "user_id != ?", 1])
什么你想要做的是计算元素的数量也符合这些条件:
offset = rand(Design.count(:conditions => [ "user_id <> ?", 1]))
如果数据库是相当小的,你可以调用示例方法返回的阵列上。
Design.where(:offset => offset, :conditions => [ "user_id != ?", 1]).sample
谢谢你,从来没有见过 '<>' 之前,是什么呢? – 2012-07-06 20:29:05
这是'!='的SQL标准,但大多数SQL实现都支持'!='。 – robbrit 2012-07-06 20:37:25