#mysql #postgresql #orm #sequelize.js
#mysql #postgresql #orm #sequelize.js
Вопрос:
Я пытаюсь получить единственную взаимно однозначную ассоциацию. Это мой код:
- Код поставщика
const Provider = sequelize.define("provider", {
idProvider: {
type: Sequelize.INTEGER,
autoIncrement: true,
primaryKey: true,
},
idUser: {
type: Sequelize.INTEGER,
primaryKey: true,
//unique: true,
},
isPublicProvider: {
type: Sequelize.BOOLEAN,
},
});
Provider.associate = function (models) {
Provider.hasOne(models.user, {
through: "users",
as: "idUser",
foreignKey: "idUser",
onDelete: "CASCADE",
});
};
В части ассоциации я должен получить только один идентификатор пользователя из этой таблицы
- Пользовательский код
const User = sequelize.define("user", {
idUser: {
type: Sequelize.INTEGER,
autoIncrement: true,
unique: true,
primaryKey: true,
},
nameUser: {
type: Sequelize.STRING,
validate: { notEmpty: true },
},
emailUser: {
type: Sequelize.STRING,
unique: true,
validate: { isEmail: true },
},
activeUser: {
type: Sequelize.BOOLEAN,
},
});
User.associate = (model) => {
User.belongsTo(models.Group, {
through: "providers",
as: "idUser",
foreignKey: "idUser",
});
};
Когда я проверяю модель ERR, нет никакой связи между
[Это изображение из моей диаграммы]https://i.stack.imgur.com/bWqOo.png
Спасибо всем перед ответом 🙂
Комментарии:
1. Где определение групповой модели и ассоциаций?
2. Согласно вашей схеме, пользователь и поставщики не связаны никакими внешними ключами
3.
through
параметры имеют смысл только для ассоциации belongsToMany