所以我有以下查询:
const [discussions, total] = await em
.createQueryBuilder(Discussion, 'd')
.select(['d', 'u.id', 'u.firstName', 'u.lastName', 'u.image'])
.addSelect(
qb =>
qb
.select('COUNT(*)', 'commentCount')
.from(Comment, 'c')
.where('c.discussion_id = d.id'),
'commentCount',
)
.leftJoin('d.user', 'u', 'd.user_id = u.id')
.where('d.project_id = :projectId', { projectId })
.orderBy({ 'd.updated_date': 'DESC' })
.limit(limit)
.offset(offset)
.getManyAndCount();
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,我正在添加一个子查询选择。
查询执行成功,但discussions数组没有commentCount返回属性。
我缺少什么?
使用 getRaw 或 getRawMany 而不是 getManyAndCount。当您选择字段时,typeorm 无法将其映射到您定义的实体,因为选择中可能存在别名。因此,您必须将该数据作为原始数据获取。
| 归档时间: |
|
| 查看次数: |
6253 次 |
| 最近记录: |