需求背景

系统字段关联公司字段表,通过查询所有的系统字段然后关联查询指定的公司对应的字段。
image.png

问题代码

 const sysField = ctx.model.SysDictionary;
    const comField = ctx.model.CompanyDictionary;

    sysField.hasOne(comField, { foreignKey: 'dictionary_id' });

    const field = await sysField.findAll({
      include: [{
        model: comField,
        where: { company_id: companyInfo.id },
      }],
    });

问题

查询出来的结果为空

解决问题

在include中增加一行代码 required: false,

正确代码

const sysField = ctx.model.SysDictionary;
    const comField = ctx.model.CompanyDictionary;

    sysField.hasOne(comField, { foreignKey: 'dictionary_id' });

    const field = await sysField.findAll({
      include: [{
        model: comField,
        where: { company_id: companyInfo.id },
        required: false, // 解决问题的代码
      }],
    });
posted on 2021-11-26 23:27  无聊猿  阅读(315)  评论(0编辑  收藏  举报