Sequelize链接方法

时间:2015-04-09 23:20:18

标签: node.js sequelize.js

我真的很喜欢Resql改变了sequelize的功能:

students.find({where: {id: 34235}}).success(function(student) {
    student.getCourses().success(function(courses) {
        console.log(courses);
    });
});

要:

students.one({id: 34235}).courses().then(function(courses) {
    console.log(courses);
});

我想知道现在是否有办法使用sequelize?

例如:

models.User.find(1).getProducts()

我一直收到错误:

TypeError: Object [object Promise] has no method 'getProducts'

谢谢!

1 个答案:

答案 0 :(得分:1)

这在sequelize中根本不可能 - 节点本质上是异步的,因此你必须先找到用户才能调用getProducts

但是你可以使用包括:

User.find({ 
  where: {
    id: x
  }, 
  include: [Course]
}).then(function (user) {;

这会让加入用户留下​​课程,您可以访问user.course(或user.Course,具体取决于课程模型的名称)