【发布时间】:2019-03-09 04:52:21
【问题描述】:
我在sequelize中有以下模型
用户
User.associate = models => {
User.hasMany(models.Schedule, {
onDelete: 'CASCADE',
foreignKey: 'patient_id',
sourceKey: 'id',
as: 'patient'
});
User.hasMany(models.Schedule, {
onDelete: 'CASCADE',
foreignKey: 'professional_id',
sourceKey: 'id',
as: 'professional'
});
};
时间表
Schedule.associate = models => {
Schedule.belongsTo(models.User, {
foreignKey: 'patient_id',
targetKey: 'id',
as: 'patient'
});
};
Schedule.associate = models => {
Schedule.belongsTo(models.User, {
foreignKey: 'professional_id',
targetKey: 'id',
as: 'professional'
});
};
以及graphql中的以下模式
用户
type User {
id: ID!
schedules1: [Schedule] @relation(name: "patient")
schedules2: [Schedule] @relation(name: "professional")
}
时间表
type Schedule {
id: ID!
date : Date
patient: User! @relation(name: "patient")
professional: User! @relation(name: "professional")
}
但是当尝试用这样的时间表查询用户时
{
users{
id
name
schedules1{
id
}
}
}
我得到了以下结果
{
"data": {
"users": [
{
"id": "1",
"name": "Gregorio",
"schedules1": null
},
...
我的问题是,如何在 graphql 中对多个关联进行建模,我尝试了 @relation 注释但没有成功。
【问题讨论】:
标签: relational-database sequelize.js graphql graphql-js