简体   繁体   English

Sequelize.js。 如何加入 2 个表(一对一)

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM