我正在使用FeatherJS和feathers-sequelize和postgresql来公开端点并将信息存储在数据库中。我想我已经能够在我的 Postgresql 数据库中设置一个 1 对多的关系,但我不知道如何测试它。
我在本教程中遵循了 POST 请求格式:https://www.djamware.com/post/5bb1f05280aca74669894417/node-express-sequelize-and-postgresql-association-example 而是在邮差。在 pgAdmin 中,我的公司表已填充,但我的分支表仍为空。
我像这样设置了协会:
在我的公司脚本中:
(company as any).associate = function (models: any) {
company.hasMany(models.branches, { foreignKey: 'companyId', sourceKey: "companyId" });
};
在我的分支脚本中:
(branch as any).associate = function (models: any) {
branch .belongsTo(models.company, { foreignKey: 'companyId', targetKey: 'companyId' });
};
我希望我的两个表都填充 companyId 作为分支表中的外键。但是,只有我的公司表填充了 POST 请求中的信息,而我的分支表仍为空。
看看这个FAQ如何检索与Sequelize的关联:
// Find Hulk Hogan and include all the messages he sent
app.service('branches').find({
sequelize: {
include: [{
model: Company
}]
}
});
有关详细信息,请参阅适配器文档。