タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

datamapperに関するemoseiのブックマーク (4)

  • DataMapper での 1+N 問題 - kなんとかの日記

    DataMapper では、いわゆる 1+N 問題は起こらないと言われている。 たとえば次のような例。ActiveRecord なら 1+N コの SELECT 文が発行されるけど、DataMapper では 1+1 コの SELECT 文だけを発行する。 $ merb -i irb> IRB.conf[:MAIN_CONTEXT].echo = false # エコーバックを切る irb> employees = Employee.all irb> employees.each {|emp| p emp.department } # 1+1 コの SQL 文 ~ SELECT `id`, `name`, `department_id` FROM `employees` ORDER BY `id` ~ SELECT `id`, `name` FROM `departments` WHERE

    DataMapper での 1+N 問題 - kなんとかの日記
  • DataMapper が予想以上に賢すぎる - kなんとかの日記

    なんか DataMapper が予想以上に賢かったので紹介してみる。 $ merb -i ### IRB のエコーバックをオフにする irb> %w[a] # エコーバックされる => ["a"] irb> IRB.conf[:MAIN_CONTEXT].echo = false irb> %w[a] # エコーバックされないことを確認 ### すべての従業員オブジェクトを検索した時点では、 ### まだ SQL は発行されない irb> employees = Employee.all ### オブジェクトにアクセスしてから初めて SQL が発行される irb> employees.each {|emp| p emp } ~ SELECT `id`, `name`, `department_id` FROM `employees` ORDER BY `id` #<Employee id=

    DataMapper が予想以上に賢すぎる - kなんとかの日記
    emosei
    emosei 2008/12/14
    こんなに賢いのか!!
  • PofEAA's Wiki - DataMapper

    原文: http://www.martinfowler.com/eaaCatalog/dataMapper.html Mapper (473) レイヤは、オブジェクトとデータベース間でデータを移動させる。データは、オブジェクト、データベース、およびMapperから独立させる。 解説の全文は『PofEAA』 165 ページを参照。 オブジェクトとリレーショナルデータベースは、 異なるメカニズムでデータを構成している。 オブジェクトの多くの部分(コレクションや継承など)は、 リレーショナルデータベースでは表すことができない。 多くのビジネスロジックを伴ったオブジェクトモデルを構築する場合、 データおよびデータに付随する振る舞いをうまくまとめるために、 このメカニズムを使うことは非常に大切である。 これによりスキーマが異なったままとなる。 つまり、オブジェクトスキーマとリレーショナルスキーマは

  • DataMapper で関連オブジェクトを更新する方法 - kなんとかの日記

    DataMapper で関連オブジェクトを更新する方法。 ## 部署オブジェクトを作成 dept = Department.create!(:name => "Sales") ## それを使って従業員オブジェクトを作成 emp1 = Employee.create!(:name => "John", :department => dept) emp2 = Employee.create!(:name => "Mike", :department => dept) ## 部署1の関連オブジェクトとして従業員1と2が表示される dept.employees #=> [emp1, emp2] ## ここで従業員1を削除 emp1.destroy ## でも関連オブジェクトには残ったまま dept.employees #=> [emp1, emp2] ## dept.employees を rel

    DataMapper で関連オブジェクトを更新する方法 - kなんとかの日記
  • 1