Rails 4 - 按属性的顺序排序

时间:2016-12-09 07:26:34

标签: ruby-on-rails postgresql ruby-on-rails-4

使用Rails 4. Psql DB。

我有一个带有Article属性的模型amazon_title。我无法理解如何订购我的文章,所以amazon_title现在的文章是第一个,而没有第二个文章。

我试过像这样订购它们没有成功:

Article.all.order(amazon_title: :desc)

以上按字母顺序排序,先显示空白,显示第二,第三。

我觉得这很简单,但由于某种原因我找不到答案。谢谢!

2 个答案:

答案 0 :(得分:4)

对于PostgreSQL(订单将为truefalsenil):

Article.order('amazon_title DESC NULLS LAST')

另一种选择(数据库不可知):

Article.order('(CASE WHEN amazon_title THEN 1 WHEN amazon_title IS NULL THEN 2 ELSE 3 END) ASC')

答案 1 :(得分:2)

在PostgreSQL中,您可以根据您的要求传递int main(){ double a=2; Y_based& ptr = Y_based(3); XorY& type = ptr; type.set_cost(a); } public void onClick(View v) { switch (v.getId()) { case R.id.popular_tab: ResetTabColor(); popular_tab.setBackgroundColor(Color.blue); case //Do the rest with other tab } } private void ResetTabColor(){ popular_tab.setBackgroundColor(Color.TRANSPARENT); // or white color time_tab.setBackgroundColor(Color.TRANSPARENT); duration_tab.setBackgroundColor(Color.TRANSPARENT); price_tab.setBackgroundColor(Color.TRANSPARENT); 。这就是我问你关于你的数据库的原因。

NULLS FIRST

以上将首先列出NULLS和

NULLS LAST

,这个将最后列出NULL记录。

希望有所帮助!