2017-09-27 14 views
0

findOne with includeは機能しません。それは私にデータを与えません。取引データが償還となります[] < - ここでは、だから私は(表を含む)償還との取引データを期待していたデータSequelize findOne includeは空の配列を返します

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 

答えて

0
Redemption.hasOne(...) 

は 'redemptionId' と呼ばれるあなたの '取り引き' テーブルの列を生成します。だからあなたは 'redemtionId'を使ってDealを見つけることができます。しかし、あなたの質問では、あなたは 'dealId'を使って償還を見出そうとしています。それは問題です、私は信じています。 Redemptionが本当に必要な場合は、別のクエリを作成する必要があります。

FYI:私は専門家ではありませんが、私は最近続編を使用しています。私は専門家からもっと聞くのが大好きです。ありがとうございました

関連する問題