LoginSignup
0
0

More than 1 year has passed since last update.

orderメソッドについてまとめ

Last updated at Posted at 2022-07-21

はじめに

初心者なりにまとめたものになりますので、間違いにお気づきの方は、お手数ですが、コメント頂けると幸いです。

内容は、Orderメソッドのまとめになります。

目次

  • orderメソッド の雛形
  • orderメソッド 並び順のオプション
  • orderメソッドとallメソッド

orderメソッド の雛形

変数 = モデル名.order("カラム名")

変数:お好みの変数を定義する
モデル名:並び替えたいテーブルを管理するモデルの名前
カラム名:並び替えさせたいカラムの名前

例.
テーブル名: mail
カラム名:id, title, content, user_id, created_at, update_at
mailテーブルのuser_idで並び替えさせたい場合は、以下となります。

hoge = Mail.order("user_id")

orderメソッド 並び順のオプション

hoge = Mail.order("user_id ASC")
hoge = Mail.order("user_id DESC")
  • user_idの後ろにASC, DESCが記述されていますが、以下の意味になります。
    -ASC:昇順の意味のオプション(ascendの頭文字ASC)
    -DESC:降順の意味のオプション(descentの頭文字DESC)

また、以下の表記は同じ意味を持ちます。

hoge = Mail.order("user_id DESC")
hoge = Mail.order(user_id: :DESC)

orderメソッドとallメソッド

orderメソッドは、モデル内のデータを取得するallメソッドと併記することができる。
N+1の問題を解決するためにincludesを記述することもできる。

hoge = Mail.all.order(user_id: :DESC)
hoge = Mail.includes(:mail).order(user_id: :ASC)

おわりに

私は、allメソッドとorderメソッドを別々に書いていて効かない事があったので、調べてまとめてみました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0