rails 是否有任何方法可以在数据库查询级别进行复杂排序?
即/
Posts.order(up/down).all
?
什么是在数据库级别(在 postgres 中)实现这一点的最佳方法,而不必使用 sort 在 ruby 中对结果进行排序(这会减慢分页等)。
最佳答案
如果你使用美妙的meta_where
gem,你也可以做类似的事情
Post.order(:create_at.asc)
要按两列或更多列的函数排序,您可以执行类似的操作
Post.select("*, (up / down) as ratio").order("ratio asc")
你会得到你想要的,而且数组中的每个 Post
对象都会有一个 ratio
方法让你知道确切的值。
关于ruby-on-rails - 使用 Rails 3.0 + Postgres 的复杂排序查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5329925/