如何使用sequelize对此模型进行查询?

时间:2019-04-02 15:05:24

标签: mysql sequelize.js

我想让每个招聘步骤都与申请人相关的申请人。 但是,效果不佳。

我的模型代码

// Model

class Applicant extends Sequelze.Model{}
Applicant.init({
  // skip
});

class RecruitStep extends Sequelze.Model{}
RecruitStep.init({
  // skip
});

RecruitStep.belongsTo(Applicant, { as: 'applicant' }); // To Create applicantId (Foreign Key)

我的续集查询


const result = await Applicant.findAll({
  include: [
    { model: RecruitStep }
  ]
});

我认为申请人不知道招聘步骤,在这种情况下如何查询?

1 个答案:

答案 0 :(得分:0)

您只有从RecruitStepApplicant的关联。您还需要进行另一种关联,从ApplicantRecruitStep,并根据您的架构使用hasManyhasOne进行关联。

Applicant.hasMany(RecruitStep, { as: 'steps' });

然后在查询中按如下所示添加它:

const result = await Applicant.findAll({
  include: [
    { model: RecruitStep, as: 'steps' }
  ]
});