私は AdonisJs を使用しており、すべてのプロジェクトとそれらのタスクの推定時間の合計を取得しようとしています。
私のコードは次のようになります
const entities = await Project.query()
.with('task', (builder) => {
builder.select('project_id')
builder.sum('estimate as estimateTime')
builder.groupBy('project_id')
})
.where({ account_id: accountId })
.fetch()
私が期待するのは、クエリが次のようになることです: SELECT "project_id", SUM("estimate") AS "estimateTime" FROM "project_tasks" WHERE "project_id" IN (5,6,1,2) GROUP BY "project_id"
ただし、実際のクエリは次のとおりです。 SELECT "project_id", SUM("estimate") AS "estimateTime" FROM "project_tasks" WHERE "project_id" = 5 AND "project_id" IN (5,6,1,2) GROUP BY "project_id"
builder.sum('estimate as assessmentTime') をクエリに追加すると、この追加句 "project_id" = 5 が追加されるようです。
このクエリを自分で作成できることはわかっていますが、プロジェクト モデルの他の関係を利用したいと考えています。
どうすればこれを回避できますか?