簡體   English   中英

如何使用'has-many belongs-to relationaship'訪問node.js中的記錄?

[英]How do I access records in node.js using 'has-many belongs-to relationaship'?

我是node.js的新手。 我在我的應用程序中使用sequelize。 我有以下型號:

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'

我的問題是,如果我有反饋記錄,如何訪問特定的主題名稱? 它的語法是什么? 可能我忽略了一個明顯的語法來實現這一點。 任何幫助將非常感激。 提前致謝:)

您正嘗試在實例集合上使用實例方法。 你需要迭代結果:

RawStatistic.all({limit: FIVE}).success(function (raw_statistics) {
  var i;
  for(i = 0; i < raw_statistics.length; ++i){
    raw_statistics[i].getTopic().success(function (t){
      /* ... */
    });
  }
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM