序列化链接方法

Sequelize chaining methods

我很喜欢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'

谢谢!

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

但是您可以使用包括:

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

这将使用户加入课程,您将能够访问 user.course(或 user.Course,具体取决于您的课程模型的名称)