Ruby on rails 对活动记录的限额查询应用排序
我需要先找到10张唱片,然后再申请订购Ruby on rails 对活动记录的限额查询应用排序,ruby-on-rails,ruby,postgresql,Ruby On Rails,Ruby,Postgresql,我需要先找到10张唱片,然后再申请订购 Model.all.limit(10).order('cast(code as integer)') 上面代码的结果是-首先对模型应用订单,然后限制查询。所以,对于给定的模型,我在清单中得到了相同的代码。但是我想先应用限制查询,然后对获取的结果进行排序。当您在model上调用.all时,它在DB上执行查询并返回所有记录,要应用限制您必须在之前编写它。all-model.limit(10)。all,但之后您不能使用SQL函数来操作数据。因此,要获取前10条
Model.all.limit(10).order('cast(code as integer)')
上面代码的结果是-首先对模型应用订单,然后限制查询。所以,对于给定的模型,我在清单中得到了相同的代码。但是我想先应用限制查询,然后对获取的结果进行排序。当您在model上调用
.all
时,它在DB上执行查询并返回所有记录,要应用限制
您必须在之前编写它。all
-model.limit(10)。all
,但之后您不能使用SQL函数来操作数据。因此,要获取前10条记录并对其应用顺序,请尝试以下操作:
records=Model.limit(10).all.sort_by{o|o.code.to_i}
或
records=Model.first(10).按{o | o.code.to}排序
当您调用.all
时,它在模型上执行对DB的查询并返回所有记录,要应用限制
您必须在之前编写它。all
-Model.limit(10).所有
,但之后您不能使用SQL函数操作数据。因此,要获取前10条记录并对其应用顺序,请尝试以下操作:
records=Model.limit(10).all.sort_by{o|o.code.to_i}
或
records=Model.first(10).按{o | o.code.to_i}排序
尝试以下方法:
Model.limit(10).sort{|p, q| q.cost <=> p.cost}
Model.limit(10).sort{| p,q | q.cost p.cost}
试试这个:
Model.limit(10).sort{|p, q| q.cost <=> p.cost}
Model.limit(10).sort{| p,q | q.cost p.cost}
您只需删除。All
方法:
Model.limit(10).order('cast(code as integer)')
您只需删除
。All
方法:
Model.limit(10).order('cast(code as integer)')
如果您想获得10条随机记录,然后在不从数据库中获取所有记录的情况下对它们进行排序,那么您可以使用
Model.limit(10).order("RANDOM()")
这使用PostgreSQL rand()函数将记录随机化
现在,您有了一个包含10条随机记录的数组,可以使用。按BitOfUniverse所述进行排序。如果您想获得10条随机记录,然后在不从数据库中获取所有记录的情况下对其进行排序,则可以使用
Model.limit(10).order("RANDOM()")
这使用PostgreSQL rand()函数将记录随机化
现在,您有了一个由10条随机记录组成的数组,可以使用。按BitOfUniverse所述进行排序。为什么要先添加限制,然后再进行排序?因为你想要一个随机样本?我想你可以像这样尝试
@model=model.all.limit(10)
和@model.order('cast(code as integer)')
一些东西。find(:all,:limit=>10)为什么你要先添加限制,然后再进行排序?因为你想要一个随机样本?我想你可以像这样尝试@model=model.all.limit(10)
和@model.order('cast(代码为整数)')
Something.find(:all,:limit=>10)