2017-04-17 50 views
0

我遵循正式的续集文档,但我无法使用多个“hasMany”关联工作。续集器连接多个拥有多个关联

下面的代码生成一个错误: Unhandled rejection Error: [object Object] is not associated to User!

这是如何正确地做了什么?

型号/ user.js的

module.exports = function(sequelize, DataTypes) { 
    var User = sequelize.define("User", { 
    username: DataTypes.STRING 
    }, { 
    classMethods: { 
     associate: function(models) { 
     User.hasMany(models.Movie, models.Book) 
     } 
    } 
    }); 

    return User; 
}; 

路线/ index.js

var models = require('../models'); 
var express = require('express'); 
var router = express.Router(); 

router.get('/', function(req, res) { 
    models.User.findAll({ 
    include: [ models.Task, models.Movie ] 
    }).then(function(users) { 
    res.render('index', { 
     title: 'Sequelize: Express Example', 
     users: users 
    }); 
    }); 
}); 

module.exports = router; 

回答

1

发现的问题,你必须单独定义它们(如User.hasMany两次)

module.exports = function(sequelize, DataTypes) { 
    var User = sequelize.define("User", { 
    username: DataTypes.STRING 
    }, { 
    classMethods: { 
     associate: function(models) { 
     User.hasMany(models.Movie), 
     User.hasMany(models.Books) 
     } 
    } 
    }); 

    return User; 
};