Arelによって変わったActiveRecord

Human Resocia Co.,Ltd.

2015-05-25 17:00

ヒューマンリソシア株式会社はコラム「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(*)とする

この続きは以下をご覧ください
(リンク »)
本プレスリリースは発表元企業よりご投稿いただいた情報を掲載しております。
お問い合わせにつきましては発表元企業までお願いいたします。

【企業の皆様へ】企業情報を掲載・登録するには?

御社の企業情報・プレスリリース・イベント情報・製品情報などを登録するには、企業情報センターサービスへのお申し込みをいただく必要がございます。詳しくは以下のページをご覧ください。

ZDNET Japan クイックポール

注目している大規模言語モデル(LLM)を教えてください

NEWSLETTERS

エンタープライズ・コンピューティングの最前線を配信

ZDNET Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]