2

ruby DataMapperを使用して結合ステートメントでクエリを生成するにはどうすればよいですか?

すなわち。

class Model1
    property id, Serial
    has n :Model2s, :parent_key => [ :id ], :child_key => [ :model1_id ]
end

class Model2
    property :id, Serial
    property :model1_id, Integer
    has n :Model3s, :parent_key => [ :id ], :child_key => [ :model2_id ]
end

class Model3
    property :id, Serial
    property :model2_id, Integer
end

ここで、DataMapperに次のようなクエリを作成させます。

SELECT ... FROM model1 INNER JOIN model2 ON model1.id = model2.model1_id INNER JOIN model3 ON model2.id = model3.model2_id;

現在、アクセス時に単一のクエリですべてのリレーションを遅延ロードしますが、これは非常に低速です。

4

0 に答える 0