Я пытаюсь получить запрос всех продавцов, связанных с пользователем.
Существует три таблицы:
user_tbl
, user_favorite_tbl
и merchant_tbl
Для каждого я создал экземпляр Sequelize.
User, UserFavorite и Merchant.
Я пытаюсь выполнить запрос, который получит меня в расчете на пользователя для каждого выбранного продавца. через user_favorite_tbl.
Вот мой код:
public async fetch_user_with_favorite() {
let favMerchants = await User.findAll({
attributes: ["given_name", "family_name", "email"],
include: [
{
model: UserFavorite,
attributes: ["merchant_id"],
include: [
{
model: Merchant,
attributes: ["name"]
}
]
}
]
});
return favMerchants;
}
И
User.belongsToMany(Merchant, { through: "user_favorite_tbl" });
Merchant.belongsToMany(User, { through: "user_favorite_tbl" });
Однако, когда я пытаюсь вызвать конечную точку, связанную с этим кодом, я получаю следующая ошибка:
SequelizeEagerLoadingError: user_favorite_tbl is not associated to user_tbl!
Когда я пытаюсь добавить это:
User.hasMany(UserFavorite, { foreignKey: "user_id" });
Merchant.hasMany(UserFavorite, { foreignKey: "merchant_id" });
Я получаю эту ошибку:
SequelizeEagerLoadingError: merchant_tbl is not associated to user_favorite_tbl!
Где именно я иду не так?