※この記事は読者によって投稿されたユーザー投稿のため、編集部の見解や意向と異なる場合があります。 また、編集部はこの内容について正確性を保証できません。
ヒューマンリソシア株式会社はコラム「Arelによって変わったActiveRecord」を公開しました。 Rails 3.0になって大きく変わったところは非常に多く、 Asset pipelineやRoutingの変化など、 ウェブサービスを開発する上で手が届かなかったかゆいところに手が加えられています。 ただし互換性が犠牲にしてでも新しく、より良いものを積極的に取り入れていくため、 「あまり頻繁にバージョンアップされるとついていけない」なんて言う声が聞こえてきたりします。 ただRailsが生み出すエコシステムには、その大変さを乗り越えるだけの大きな利益があるので、 情報を集めて取り込んでみましょう。 閑話休題。さて今回はそのRails 3.0で新しく生まれ変わったActiveRecordのお話です。 Rails 3.0になって、ActiveRecordはArelというSQLを簡単に、直感的に生成できる プラグインを使うようになりました。 このArelというのは「Relational Algebra」または「Active Relation」の略と言われていて、 「関係代数」というものを扱うためのライブラリです。 データベースのことを「Relational Database」というように、 データベースで扱う「関係」を代数のように演算できると考えればわかりやすいでしょうか。 例えばユーザモデルUserで、属性statが3のレコードをregisted_atの順で 取得するには User.where(:stat => 3).order('registed_at') のようになります。このwhereメソッドがSQLのWHERE句を、 orderメソッドがORDER BY句に対応しています。 この他にも主に使うメソッドとして以下のようなものがあります。 メソッド SQL where WHERE order ORDER BY GROUP GROUP BY select SQLのSELECTで指定するカラム名 includes JOIN句で結合するテーブル limit LIMIT offset OFFSET count 最終的にSELECT COUNT(*)とする この続きは以下をご覧くださいhttp://resocia.jp/column/324/
この記事のキーワード

人気記事トップ10

人気記事ランキングをもっと見る