【发布时间】:2014-03-05 17:06:17
【问题描述】:
我是 node.js 的新手。我在我的应用程序中使用续集。 我有以下型号:
var Topic = sequelize.define('Topic', {
topic_name: Sequelize.STRING,
topic_category: Sequelize.STRING
},{tableName: 'Topics'})
var RawStatistic = sequelize.define('RawStatistic', {
feedback_value: Sequelize.STRING,
count: Sequelize.INTEGER,
total_feedbacks_for_this_topic: Sequelize.INTEGER
},{tableName: 'RawStatistics'})
它们之间的关系如下:
RawStatistic.belongsTo(Topic);
Topic.hasMany(RawStatistic);
但是当我使用时:
RawStatistic.all({limit: FIVE}).success(function (raw_statistics) {
raw_statistics.getTopic().success(function (r){
res.json(r)
});
});
我得到错误:
TypeError: Object [object Object] has no method 'getTopic'
我的问题是,如果我有反馈记录,如何访问特定主题名称? 相同的语法是什么?可能我忽略了一个明显的语法来实现这一点。任何帮助将非常感激。在此先感谢:)
【问题讨论】:
-
你是如何定义你的
Topics的?单数?还是复数?请注意,sequelize 中的 all 模型应以单数形式定义。此外,RawStatstics属于 一个 主题,因此您不能使用getTopics(),而使用getTopic()(只有一个)。 -
@Zeta 你是对的,我定义了“主题”而不是“主题”。谢谢。我已经更正并更新了问题,但我仍然遇到同样的错误。不知道我错过了什么
标签: node.js express sequelize.js