javascript - 使用sequelize,尝试创建像Rails一样的关联函数,在其中将模型作为函数调用并返回关联

标签 javascript node.js postgresql

例如,我有一个模型项目和一个模型任务,一个项目有许多任务,一个任务有一个项目。我想为模型编写一个 getter 函数来检索分配给该项目的所有任务。

这是我认为我会做的事情,我认为这是正确的方向,但我不知道如何获取将分配给项目的 id。

    var Task = sequelize.define('task', {
      title: Sequelize.STRING,
      description: Sequelize.TEXT,
      deadline: Sequelize.DATE
    })

    var Project = sequelize.define('project', {
      title: Sequelize.STRING,
      description: Sequelize.TEXT
    })

    Project.hasMany(Task);
    Task.hasOne(Project);

    sequelize.define('project', {
      findTasks: function(){
        return Task.findAll({where: {"projectId": id}})
      }
    })

那么在最终的 sequalize 定义中......如何将该 id 分配给正在创建的对象的 id?

最佳答案

Sequelize 会自动为每个关联添加该函数,您无需定义它。

对于 project(Project 的实例),应该有一个 getTasks() 函数。 从文档中查看此段落:Associating objects

关于javascript - 使用sequelize,尝试创建像Rails一样的关联函数,在其中将模型作为函数调用并返回关联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35382347/

相关文章:

node.js - 请将您的 Node 运行时更新到版本 >=0.12.x

javascript - 在查询中选择该类中的所有类

javascript - 如何在 bootstrap 的同一页面上为按钮单击替换 div 内容

javascript - 为什么 jQuery $ ("td:eq(0)") 比 $ ("td").eq(0) 慢

以错误的顺序创建 PostgreSQL 表

sql - PostgreSQL 9.5 : Logging exception handling

sql - 在 Postgres 中计算百分比

javascript - react : Fetching data from inputs using createRef

windows - 'slc' 不是内部或外部命令,也不是可运行的程序或批处理文件

node.js - Protractor 因 ECONNREFUSED 随机崩溃