DataMapper Model
こんにちは。麺処まつば副店長です。
今日は DataMapper でレコードを扱う方法について少し調べてみました。
本家から、(副店長が)よく使いそうなものを拾ってきました。
本家はこちらです。
→http://datamapper.org/docs/create_and_destroy
→http://rubydoc.info/gems/dm-core/1.1.0/frames
検索
Zoo.all # 全部取得 Zoo.all(:open => true) # open が true のものだけ Zoo.all(:opened_on => start..end) # opend_on が start 〜 end の期間のもの Zoo.all(:order => [ :tiger_count.desc ]) # 虎の数で並び替え Zoo.get(1) # プライマリーキーが 1 Zoo.get!(1) # プライマリーキーが 1 失敗すると ObjectNotFoundError Zoo.get('DFW') # 自然(プライマリー)キーもサポート Zoo.get('Metro', 'DFW') # 複合キーでもいけます
更新(作成・更新・削除)
Zoo.create( :column1 => "column1 column1", :column2 => 15, :column3 => Time.now ) # インスタンス生成して保存 zoo = Zoo.new( :column1 => "column1 column1", :column2 => 15, :column3 => Time.now ) zoo.save # 更新 Person.update(:allow_beer => true) # 保存失敗で例外発生 User.raise_on_save_failure # 削除 zoo = Zoo.get(5) zoo.destroy # 全部消す Zoo.all.destroy # 合わせ技1:検索してなかったらcreate zoo = Zoo.first_or_create(:name => 'The Glue Factory')
なんとなく分かったツモリになりました(気分だけ)