我正在遵循官方的Sequelizer文档,但我无法让它与多个"hasMany“关联一起工作。
我想在postman中使用sequelize、node js和express使用hasMany()
和belongsTo()
关联时,仅显示员工总数而不是整个项目资源模型。
怎样才能正确地做到这一点?
Project.hasMany(projectResource, {foreignKey: 'projectId', sourceKey: 'id'}),
projectResource.belongsTo(Project, {foreignKey: 'projectId', targetKey: 'id'})
many(request)
{
return Project.findAll({
where: request,
attributes: {
include: [[Sequelize.fn("COUNT", Sequelize.col("projectId")), "totalEmployee"]]
},
include: [
{
model: projectResource
}
],
group: ['Project.id']
})
}
在邮递员中我得到了
"project": [
{
"id": 1,
"projectName": "enuke",
"projectManagerId": 2,
"projectType": "2",
"status": "3",
"startDate": "2019-06-18",
"endDate": "2019-06-29",
"createdAt": null,
"updatedAt": "2019-06-19T06:57:57.000Z",
"deletedAt": null,
"totalEmployee": 1,
"projectresources": [
{
"id": 1,
"projectId": 1,
"employeeId": 2,
"createdAt": "2019-06-20T00:00:00.000Z",
"updatedAt": "2019-06-20T00:00:00.000Z",
"deletedAt": null
}
]
}]
发布于 2019-07-11 23:37:56
Project.hasMany(projectResource, {foreignKey: 'projectId', sourceKey: 'id'}),
projectResource.belongsTo(Project, {foreignKey: 'projectId', targetKey: 'id'})
many(request)
{
return Project.findAll({
where: request,
attributes: {
include: [[Sequelize.fn("COUNT", Sequelize.col("projectId")), "totalEmployee"]]
},
include: [
{
model: projectResource,
attributes: [],
}
],
group: ['Project.id']
})
}
你能试试这个吗?
https://stackoverflow.com/questions/56984138
复制相似问题