Rails: 使用连字符对 ActiveRecord 进行排序
Rails: Sorting ActiveRecord with hyphens
朋友,
我有一个像这样的简单查询:
ContactForm.where(:is_active => true).order(:name => :asc)
但是我希望我的一条记录总是先出现,所以我在它前面加上几个连字符“--”,但是,order 子句并没有将该记录交换到第一位,实际上它仍然在中间,因为它不会有那些连字符。
会发生什么?
谢谢。
我建议您创建另一个专栏而不是使用该方法。您可以使用名为 priority
的列,默认为 0
。
add_column :contact_form, :priority, :integer, default: 0
然后,您可以使用此代码(假设您已使用 1
标记优先级记录):
ContactForm.where(:is_active => true).order(:priority, :name => :asc)
朋友,
我有一个像这样的简单查询:
ContactForm.where(:is_active => true).order(:name => :asc)
但是我希望我的一条记录总是先出现,所以我在它前面加上几个连字符“--”,但是,order 子句并没有将该记录交换到第一位,实际上它仍然在中间,因为它不会有那些连字符。
会发生什么?
谢谢。
我建议您创建另一个专栏而不是使用该方法。您可以使用名为 priority
的列,默认为 0
。
add_column :contact_form, :priority, :integer, default: 0
然后,您可以使用此代码(假设您已使用 1
标记优先级记录):
ContactForm.where(:is_active => true).order(:priority, :name => :asc)