2017-04-17 91 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; 
};