node.js - Sequelize 链接方法

标签 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'

谢谢!

最佳答案

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

但是,您可以使用包括:

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

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

关于node.js - Sequelize 链接方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29550722/

相关文章:

unit-testing - 有没有办法通过maven/ant运行nodeunit测试

javascript - 用 Jest 和 sequelize-mock 模拟 Sequelize

node.js - 如何在 sequelize 中更新整个记录(不仅仅是单个字段)

javascript - 从 React 组件中的脚本访问变量

javascript - 我可以使用 gulp 将一个文件中的内容插入到另一个文件中吗?

node.js - 为什么我使用 Sequelize 有两倍的外键

mysql - Sequelize : How to map a custom attribute in a pivot table

javascript - Sequelize.INTEGER 与 DataTypes.INTEGER

mysql - Sequelize 不唯一的表/别名

node.js - 在 Mean.js 中使用 Node 的域