これが私の質問です。関連する 2 つの Datamapper モデルがあります。
class Task
include DataMapper::Resource
property :id, Serial
property :date, Date
property :amount, Float
belongs_to :project, :required => true
end
class Project
include DataMapper::Resource
property :id, Serial
property :name, String, :required => true
property :desc, Text
belongs_to :company
has n, :tasks
end
私の目標は、タスクの日付、金額、およびプロジェクト名を含む JSON を作成し、project_id と一致させることです。現時点では、JSON 生成は次のようになっています。
Task.all.to_json(:only => [:date, :amount, :project_id])
Task モデルから project_id にアクセスできますが、各タスクの Project モデルからそれぞれのプロジェクト名を追加する方法がわかりません。SQL では、結合のように見えます。
select tasks.date, tasks.amount, projects.name from tasks
inner join projects
on tasks.project_id = projects.id;
SQLではなくDatamapperの方法を使用して、最終的なJSONを作成する正しい方法を提案できますか?
ありがとうございました。