Это моя родительская модель Providers
module.exports = function(sequelize, DataTypes) {
const Providers = sequelize.define('Providers', {
provider_id: {
type: DataTypes.INTEGER,
primaryKey: true,
autoIncrement: true
},
provider_name: DataTypes.STRING,
address: DataTypes.STRING,
city: DataTypes.STRING,
state: DataTypes.STRING,
zip: DataTypes.STRING,
phone: DataTypes.STRING,
website: DataTypes.STRING,
accepting_new_clients: DataTypes.INTEGER
});
Providers.associate = models => {
Providers.belongsTo(model.Providerclients, {foreignKey: "provider_id" })
}
return Providers;
}
Это моя детская модель Providerclients
module.exports = function(sequelize, DataTypes) {
const Providerclients = sequelize.define('provider_clients', {
provider_client_id: {
type: DataTypes.INTEGER,
primaryKey: true,
autoIncrement: true
},
provider_id: DataTypes.INTEGER,
client_id: DataTypes.INTEGER
},{});
Providerclients.associate = (models) => {
Providerclients.belongsToMany(models.Providers, {foreignKey: "provider_id"});
};
return Providerclients;
}
Это моя другая детская модель Providerinsurance
module.exports = function(sequelize, DataTypes) {
const Providerinsurance = sequelize.define('provider_insurance', {
provider_insurance_id: {
type: DataTypes.INTEGER,
primaryKey: true,
autoIncrement: true
},
provider_id: DataTypes.INTEGER,
insurance_id: DataTypes.INTEGER
},{});
return Providerinsurance;
}
Я пытаюсь получить данные из таблицы поставщиков, присоединяющейся к таблице клиентов поставщиков.
Чтобы было понятно, я хочу выполнить следующий запрос в формате mysql
select * from providers as p left join provider_clients as pc on p.provider_id = pc.provider_id left join provider_insurance as pi on p.provider_id = pi.provider_id
Я пытался присоединиться к sequelize, как вы можете видеть в моделях Provider и Providerclients. Я получил ошибку ниже
Unhandled rejection SequelizeEagerLoadingError: provider_clients is not associated to Providers!