【问题标题】:Sequelize is returning null values when used with include与 include 一起使用时,Sequelize 返回空值
【发布时间】:2019-04-23 23:28:45
【问题描述】:

当使用包含查询模型时,如果没有可用的行,它会返回具有空值的数据。

我知道这个问题之前已经发过很多次了,但是直到现在我都没有得出任何结论。

Model.findOne({
    where: { id: 1 },
    include: [{model: Model1}]
})

我得到的结果是这样的

{
    "id": null,
    "name": null,
    "age": null,
    "model1": []
}

如果我使用raw: true,它会像打印一样

{
    "id": null,
    "name": null,
    "age": null,
    "model1.model1n": 0
}

【问题讨论】:

  • 我们可能需要展示更多您的代码,但 Model1 是什么?不应该是这样的:Model1.findOne({ where: { id: 1 } }); 吗?
  • Model 和 Model1 是 1:N 的关系。我想获取特定模型的所有 Model1。
  • 请同时发布由 sequelize.js 生成的原始查询
  • @VivekDoshi 请检查答案,我已经更新了问题

标签: javascript sql node.js sequelize.js node-modules


【解决方案1】:

其中一个原因是您从属性中排除了id。如果您在包含或通过表使用范围或属性,请确保您返回 id 主键。

另一个原因是如果您在列上的自定义 get() getter 函数中返回 null

【讨论】:

    猜你喜欢
    • 2020-01-11
    • 2021-09-15
    • 1970-01-01
    • 1970-01-01
    • 2022-01-01
    • 2018-12-19
    • 2013-07-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多