Sequelize findOne包括给出空数组

时间:2017-09-27 15:24:42

标签: javascript node.js sequelize.js

findOne with include doesn工作。它只是给我没有数据。交易数据与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

1 个答案:

答案 0 :(得分:0)

Redemption.hasOne(...) 

在您的交易中生成一个专栏&#39;表叫做“赎回”#39;因此,您可以使用&#39; redemtionId&#39;找到交易。但是在你的查询中,你试图通过使用&#39; dealId&#39;来找到赎回。我相信这就是问题所在。如果您确实需要Redemption,则必须进行另一次查询。

仅供参考:我不是专家,但我最近使用的是sequelize。我很想从专家那里听到更多。谢谢