Help us understand the problem. What is going on with this article?

Railsで他のテーブルのカラムをソートする方法

More than 3 years have passed since last update.

はじめに

Railsで取得した値を並び替えする際には、orderメソッドを使うのが一般的だと思います。
ただ、他のテーブルから取得した値をソートする際にちょっとハマったのでメモを残しました。

1つのテーブルでソートする場合

リファレンスにもありますがこちらは非常にわかりやすいです。

モデル.order("カラム名 DESC")

別のテーブルのカラムをソートする場合

例えば、projectモデルのdateカラムをソートする場合
結論からいうと下記のように書けばうまく行きました。

モデル.includes(:project).order("projects.date DESC")

ポイントはorderの中では複数形で書くといいそうです。

参考

Belongs toしているテーブルのカラムでソートする

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away