I have 2 tables
--- 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. So when defining association you need to define them like below:
Registries.hasOne(RegistriesMeta, {
foreignKey: "registryId"
});
RegistriesMeta.belongsTo(Registries, {
foreignKey: "registryId"
});