【发布时间】:2014-09-24 16:00:18
【问题描述】:
是否查询:
company_ids = [2,6,15,1,3]
@people = Person.where("company_id IN (?)", company_ids)
总是返回按company_ids数组排序的@people?
如果不是,最好添加.order() 之类的:
c_ids = company_ids.collect{|c_id| "company_id = #{c_id}"}
@people = Person.where("company_id IN (?)", company_ids).order( c_ids.join(',') )
【问题讨论】:
-
如果未明确指定订购,则无法保证。
-
@SergioTulentsev 我试图避免进行不必要的排序的性能开销。感谢您的评论。
-
如果您需要记录按顺序排列,那么您最好对它们进行排序。或者在生产中断时在半夜醒来。 :)
-
@SergioTulentsev 你知道我上面使用的排序方法是否适用于 id 数组吗?谢谢:)
-
我非常怀疑:)
标签: ruby-on-rails rails-activerecord