Я использую 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 ("оценка") AS "EstimationTime" FROM "project_tasks" WHERE "project_id" IN (5,6,1,2) GROUP BY "project_id"
но фактический запрос: ВЫБЕРИТЕ "идентификатор_проекта", СУММ ("оценка") КАК "оценка_времени" ОТ "задачи_проекта" ГДЕ "идентификатор_проекта" = 5 И "идентификатор_проекта" IN (5,6,1,2) ГРУППА ПО "идентификатору проекта"
Кажется, что он добавляет это дополнительное предложение "project_id" = 5, когда я добавляю builder.sum ('оценка как оценка времени') к запросу.
Я знаю, что могу составить этот запрос сам, но я хочу воспользоваться преимуществами других взаимосвязей модели проекта.
Есть идеи, как я могу это обойти?