簡體   English   中英

NODEJS - 執行 INNER JOIN 續集

[英]NODEJS - Perform INNER JOIN sequelize

我想使用 sequelize 和 Node 執行 INNER JOIN。 實際的 SQL 查詢如下所示:

SELECT b.id, b.title, b.author, b.image_url, s.novel_status AS status, g.genre 
FROM novels b 
  INNER JOIN genres g 
  ON b.genre = g.id 
  INNER JOIN novel_statuses s 
  ON b.status = s.id

這給出了以下響應:回復

使用 sequelize 作為我的 ORM,我嘗試像這樣完成上述操作:

getNovel: (req, res) => {
    novelModel.hasMany(statusModel, {
      foreignKey: 'id'
    });
    statusModel.belongsTo(novelModel, {
      foreignKey: 'id'
    });
    novelModel.hasMany(genreModel, {
      foreignKey: 'id'
    });
    genreModel.belongsTo(novelModel, {
      foreignKey: 'id'
    });

    novelModel
      .findAll({
        include: [
          {
            model: genreModel,
            required: true,
            attributes: ['genre']
          },
          {
            model: statusModel,
            required: true,
            attributes: ['novel_status']
          }
        ]
      })
      .then(result => res.json(result))
      .catch(err => res.json(err));
  },

但隨后的反應是不同的,即如下:回復

我的數據庫:D b

我試圖尋找答案,但沒有任何運氣。

您應該給出您使用的 Model 框架的名稱。

暫無
暫無

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

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