【发布时间】:2020-07-08 10:13:11
【问题描述】:
我在 GraphQL Cars and Brands 中定义了两个模型(它们的关联是cars.brand_id =brands.id)。 该架构仅在我定义时才有效:
Cars.hasMany(models.brands, {
sourceKey: 'brand_id',
foreignKey: 'id'
})
如果我按以下方式定义它就不起作用:
Cars.hasOne(models.brands, {
sourceKey: 'brand_id',
foreignKey: 'id'
}),
这里我分享了更多的架构(我使用 makeExecutableSchema 来拆分文件定义):
协会:
CarBrands.js
CarBrands.associate = models => {
CarBrands.hasOne(models.cars, {
foreignKey: 'brand_id',
});
}
Cars.js
Cars.associate = models => {
Cars.belongsTo(models.brands),
Cars.hasMany(models.car_images, {
foreignKey: {
name: 'car_id',
allowNull: false
},
onDelete: "cascade"
});
};
车型:
export const typeDef = `
type Cars {
user_id: Int!,
title: String!,
brands: [CarBrands!],
car_images: [CarImages],
}
`;
SQL 格式正确,car_images 正确返回数据,而brands 不正确。知道为什么吗? 任何提示将永远不胜感激。
谢谢
【问题讨论】:
标签: node.js graphql sequelize.js