【发布时间】:2011-06-23 18:04:33
【问题描述】:
我在 application_helper.rb 文件中有以下两个 ActiveRecord 查询:
@left_menu = Page.select('id, menu_name').where(:published => true, :left_menu => true).order("sort")
也可以写成:
@left_menu = Page.select('id, menu_name').where(:published => true, :left_menu => true).order("'sort' ASC")
和:
@left_menu = Page.find(:all, :conditions => {:published => true, :left_menu => true}, :order => :sort)
为什么第一个无法在“排序”列上排序,而第二个却没有?两者都适用于 SQLite,但只有第二个适用于 MySQL。
有什么想法吗?
【问题讨论】:
-
MySQL不能有默认的排序方向,这是可以理解的。
标签: mysql ruby-on-rails ruby sqlite activerecord