【问题标题】:Sequelize findOne include gives empty arraySequelize findOne include 给出空数组
【发布时间】:2017-09-27 15:24:41
【问题描述】:

包含包含的 findOne 不起作用。它只是没有给我任何数据。交易数据与 Redemption []

Deal.belongsTo(models.Redemption, {
      foreignKey: 'redemptionId',
      unique: true
    })


Redemption.hasOne(models.Deal, {foreignKey: {
        name: 'redemptionId',
        unique: true
    }})

我试图包含兑换的代码

await Deal.find({
      where: {
        id: req.params.id,
        userId: req.user.id
      },
      include: [Redemption]
    }, {transaction})

所以我期待交易数据与赎回(包括表)。

JSON

Redemptions:[] <--- empty
address:"62720 Rety, France"
business_name:"rwqrq"
category:null
cloudinary_key:"uzjwyyoritb5v81e3vba"
createdAt:"2017-09-27T14:09:30.469Z"
details:"trhrht"
end:"2017-10-03T21:00:00.000Z"
group_size:"—"
id:3
location:{type: "Point", coordinates: [50.792905, 1.7773789999999963]}
redemptionId:3

【问题讨论】:

    标签: javascript node.js sequelize.js


    【解决方案1】:
    Redemption.hasOne(...) 
    

    在您的“交易”表上生成一个名为“redemptionId”的列。因此,您可以使用“redemtionId”找到 Deal。但是在您的查询中,您正试图通过使用“dealId”来查找赎回。我相信这就是问题所在。如果你真的需要赎回,你必须进行另一个查询。

    仅供参考:我不是专家,但我最近正在使用 sequelize。我很想听听专家的更多信息。谢谢

    【讨论】:

      猜你喜欢
      • 2012-05-02
      • 2015-11-19
      • 2016-02-05
      • 1970-01-01
      • 1970-01-01
      • 2017-08-18
      • 2020-12-13
      • 1970-01-01
      • 2021-02-27
      相关资源
      最近更新 更多