感謝のプログラミング 10000時間

たどり着いた結果(さき)は、感謝でした。

RailsでDBから取り出した値の並び順を処理する

スポンサーリンク

Railsで並び順を処理するために使うのはorderというメソッドです。
以下のように書きます。

変数 = モデルクラス.where(・・・).order(並び順の指定)

whereメソッドのあとにorderメソッドの呼び出しが続けて書かれていますが、メソッドをいくつもつなげて書く書き方をメソッドチェーンといいます。

orderの値は"カラム名 ASC/DESC"とします。
ASCは昇順。DESCは降順です。

コントローラーの記述を以下のようにすれば、idを降順に並べ替えて@resultに開く脳してくれます。

def show
	condition = "A"
	#@results = Friend.all
	@results = Friend.where("name like ?","%" + condition + "%")
                  .order("id DESC")
end

上の検索結果を絞りたいときは、offsetやlimitというメソッドを使います。
offsetは何番目から取り出すかを指定して、limitはいくつ取り出すかを指定します。

次回はoffsetやlimitを使って、ページネーションを実現してみます。

<参考文献>
HerokuではじめるRailsプログラミング入門