[英]Sequelize.js. How to join 2 tables (one to one)
I have 2 tables我有 2 张桌子
--- registries id name 1 dev --- registries_meta registryId data 1 {dev: true}
And how to join it?以及如何加入? My code:
我的代码:
public static associate() { RegistriesModel.hasOne(RegistriesMetaModel, { foreignKey: 'registryId', sourceKey: 'id' }); RegistriesModel.belongsTo(RegistriesMetaModel, { foreignKey: 'id' }); return; }
I got an error:我收到一个错误:
SQLITE_ERROR: no such column: RegistriesMetaModel.id
How to fix thia stupid associations?如何解决愚蠢的联想? Expected query:
预期查询:
SELECT * FROM registries LEFT JOIN registries_meta ON registries.id = registries_meta.registryId;
In your case Registries
model is target model, and it has RegistriesMeta
.在您的情况下,
Registries
model 是目标 model,并且它具有RegistriesMeta
。 So when defining association you need to define them like below:因此,在定义关联时,您需要像下面这样定义它们:
Registries.hasOne(RegistriesMeta, { foreignKey: "registryId" }); RegistriesMeta.belongsTo(Registries, { foreignKey: "registryId" });
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.