スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Tag:スポンサー広告 

【Ruby】ActiveRecordによるCRUDの実験(Read編)

前々回の記事でも紹介しましたが、Railsの規約上テーブルにあるデータは一意性をもつIDを持っていることからReadする場合このIDをもとにfindクラスメソッドによりデータを取得することができます。

テーブル構成、クラスなどは前回までと同じとします。

それでは早速Readの実験をしてみましょう。

下記のコードではIDが1のレコードの読み出しを行っています。

obj = Hoge.find(1)

puts obj.message
puts obj.priority

これは

puts Hoge.find(1).message
puts Hoge.find(1).priority

とも書くことができます。

また複数のIDを探すこともできます。

obj = Hoge.find([1, 3])

puts obj[0].message
puts obj[1].message

この場合IDが1と3のレコードを取得することになります。
もちろん

puts Hoge.find([1, 3])[0].message
puts Hoge.find([1, 3])[1].message

と書くこともできます。

puts Hoge.find([1, 3]).size

とするとfindした結果のレコード数が帰ってくることになります。

また

puts Hoge.find(:all).size

とするとテーブルに格納されているデータの総数が返ってくることになります。

Hoge.find(:all)

このクラスメソッド呼び出しは

select * from hoges;

というSQLを発行することになります。

さらにfindメソッドには検索オプションが用意されています。

:conditions
:offset
:limit

などがあります。

例えば

obj = Hoge.find(:all, :conditions => "priority = 100")

というのは

select * from hoges where priority = 100;

というSQL文に対応することになります。

検索オプションについてはいろいろあるようなので必要な時に調べて使ってみるといいと思います。
すみませんがよろしくお願いします。
スポンサーサイト
テーマ : プログラミング
ジャンル : コンピュータ

Tag:Ruby  Trackback:0 comment:0 

プロフィール

6rats

Author:6rats
こんにちは、ITベンチャーで働くエンジニアです
主に自分の周りで起きた技術的なことをメモとして書き残して行きます。
Android以外にもRuby/Ruby on RailsやFuelPHPなどなどたまにやります。基本的なスタンスとしては興味があるもしくは必要になったらいろんなことにチャレンジします。
最近はiOSアプリ開発を始めています。

購読
follow us in feedly
個人プロダクト

Androidアプリ

Twitterクライアント

Webアプリケーション

EcPriceWatch(Amazon価格の推移を計測、最安値を知らせるサービス)
Google AdSense
ブログ村
にほんブログ村 IT技術ブログへ
にほんブログ村
ブロとも申請フォーム

この人とブロともになる

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。