【发布时间】:2017-04-15 10:33:44
【问题描述】:
所以我有两个表:Class 和 Course。每个班级都有一个 course_id,它定义了课程表上的课程类型。这是我的模型:
const Class = sequelize.define('class', {
class_date: Sequelize.DATE,
begin_time: Sequelize.TIME,
end_time: Sequelize.TIME,
max_capacity: Sequelize.INTEGER,
is_published: Sequelize.BOOLEAN,
training_facility_id: Sequelize.INTEGER,
state_id: Sequelize.INTEGER,
registration_deadline: Sequelize.DATE,
course_id: Sequelize.INTEGER,
is_report_60_generated: Sequelize.BOOLEAN,
completed_by_user_id: Sequelize.INTEGER
}, {
timestamps: false,
freezeTableName: true
})
const Course = sequelize.define('course', {
code: Sequelize.STRING,
name: Sequelize.STRING
}, {
timestamps: false,
freezeTableName: true
})
当我点击类端点时,我得到了一个类数组。我将如何设置查询以响应每个课程的课程名称和代码,而不仅仅是 course_id?
【问题讨论】:
-
您需要创建关联/关系,类型取决于您的数据模型。一对一、一对多等等……
-
那么如果有很多类并且每个类只能有一个课程名称,那就是一对多?它看起来像 Course.hasMany(Class, {as: 'Classes'}) 吗?
-
是的,我重新阅读了您的问题并看到了您在做什么,刚刚发布了关系定义/查询的答案。基本上你所拥有的,除了你可能想将列指定为
NOT NULL,而且由于它是自动创建的,你在我们的模型定义中不需要它。 Sequelize 文档还有很多不足之处。
标签: javascript database postgresql sequelize.js