javascript - FeathersJS Sequelize - 关联不起作用

标签 javascript node.js sequelize.js feathersjs feathers-sequelize

我目前正在使用 Sequelize =>4.0,发现将 2 个模型链接在一起并不像我想象的那样有效。

基本上,我有 2 个模型:user 和 punch。

用户: ID 姓名 邮箱

冲床: ID 用户 ID <- 用户 ID 时间 状态

我想显示用户列表及其链接。

这是我在每个模型下的 .associate 函数:

users.associate = function (models) { // eslint-disable-line no-unused-vars
// Define associations here
// See http://docs.sequelizejs.com/en/latest/docs/associations/

    users.hasMany( models.punch, {foreignKey: 'id'} );
};


punch.associate = function (models) { // eslint-disable-line no-unused-vars
// Define associations here
// See http://docs.sequelizejs.com/en/latest/docs/associations/

    punch.belongsTo(models.users, {foreignKey: 'userId', targetKey: 'id'});
};

这是正确的方法吗?还有什么我需要做的吗?当我查看用户 GET 请求时,除了用户数据,我没有看到任何其他内容。

任何帮助将不胜感激:)

最佳答案

您需要根据 feathers-sequelize docs 更新您的 before Hook :

// users.hooks.js

associationHook(context){
    const PunchModel = context.app.services.punch.Model;

    context.params.sequelize = {
        include: [{ model: PunchModel }]
    }
}

module.exports = {
    before: {
        (...)
        find: [associationHook],
        (...)
    }
    (...)
};

您需要为查找/获取以及您希望返回关联数据的任何其他对象执行此操作。

还有 fastJoinpopulate在 feathers-hooks-common 中。

关于javascript - FeathersJS Sequelize - 关联不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46216581/

相关文章:

javascript - 从字符串 mssqlsequelize 转换日期和/或时间时转换失败

javascript - 无法在 import 或 require 中连接 var

javascript - 如何解决我的异步函数?

javascript - window.open(url) 无法下载pdf文件

javascript - 浏览器编程是否标准化,所有主要浏览器是否都符合标准?

javascript - 递归 promise 链

javascript - 嵌套的 Jade block 没有被渲染

javascript - 找不到模块 : internal/modules/cjs/loader. js:969

javascript - findOrCreate 包含 - sequelize.js

javascript - 如何将实例变量的 Q.defer() 转换为 Promise?