Почему ассоциации не работают в продолжении? - PullRequest
1 голос
/ 06 августа 2020

Мне нужно знать, почему мой код не работает. Я пытаюсь создать таблицу корзины, которая будет иметь внешний ключ userId и productId. Для этого в моей модели продукта и в пользователе я делаю то, что следую:

User.hasMany(Car,{
    primaryKey:'userId'
})

module.exports=User;

  Product.hasMany(Car,{
      primaryKey:'productId'
  })

module.exports = Product;

в модели автомобиля:

 const {Model, DataTypes}=require('sequelize');
    const sequelize=require('../config/database');
    const Product=require('./Product');
    const User=require('./User');
    
    class Car extends Model{}
    
    Car.init({
        id:{
            primaryKey:true,
            allowNull:false,
            type:DataTypes.UUID,
            defaultValue:DataTypes.UUIDV1
        }
    },{
       sequelize,
       modelName: 'car'
    });
    
    module.exports=Car;

Я получаю эту ошибку:

введите описание изображения здесь

Мне нужна помощь.

1 Ответ

1 голос
/ 06 августа 2020

Вы должны зарегистрировать все модели в Sequelize и только после этого зарегистрировать их ассоциации. Также не импортируйте модели друг в друга. Определите функцию associate в каждой модели для регистрации ассоциаций. Смотрите мой ответ

...