2017-11-26 4 views
0

Ich versuche, verknüpfte Zeilen in ReceiptItems, Zahlungen aus Zugängen, die miteinander verbunden sind, hasMany und belongsTo Methoden abrufen.Sequelize.Js-PostgreSQL Wie bekomme ich Zeilen in verknüpften Tabellen aus der zugehörigen Tabelle?

Hier meine Tabelle Beziehungen:

// One to Many Relationship between receiptitems and receipts 
 
db.Receipts.hasMany(db.ReceiptItems,{ foreignKey : 'receipt_id'}); 
 
db.ReceiptItems.belongsTo(db.Receipts,{ foreignKey : 'receipt_id'}); 
 

 
// One to Many Relationship between ReceiptItems and Payments 
 
// This relation exists due to solve the problem of paying the debts later on ! 
 
db.Receipts.hasMany(db.Payments, { foreignKey : 'receipt_id' }); 
 
db.Payments.belongsTo(db.Receipts, { foreignKey : 'receipt_id' }); 
 

 
// One to many Relationship between Receipts and Plates 
 
db.Plates.hasMany(db.Receipts, { foreignKey : 'plate_id' }); 
 
db.Receipts.belongsTo(db.Plates, { foreignKey : 'plate_id' });

Hier ist meine Methode Receipts zu finden, die dem plate_id gehört, findet es die Einnahmen aber es abrufen nicht die ReceiptItems und Zahlungen an die damit verbundenen Quittungen (Keine Nullvariablen, ich kann im Ergebnis des erfolgreichen Comebacks kein Feld in Bezug auf die zugehörigen Tabellen sehen.)

db.Receipts.findAll({ 
 
     where : { 
 
      plate_id : result.plate_id 
 
     } 
 
     },{ 
 
     include : [ { associaton : db.ReceiptItems}, { association : db.Payments} ] 
 
     }).then((receiptResult)=>{ 
 
     console.log(receiptResult); 
 
     }).catch((receiptErr)=>{ 
 
     console.log(receiptErr); 
 
     })

Antwort

0

Ich habe gerade den Grund herausgefunden, warum ich auf das Problem stieß.

Zuerst kurz nach der Aussage hatte ich eine zusätzliche Schließblock Klammer und ich habe Verbände in die Art und Weise unten verwenden:

db.Receipts.find({ 
 
     where : { 
 
      plate_id : result.plate_id 
 
     }, 
 
     include : [{ association : db.Receipts.associations.ReceiptItems},{ association : db.Receipts.associations.Payments }] 
 
     }).then((receiptResult)=>{ 
 
     console.log(receiptResult); 
 
     }).catch((receiptErr)=>{ 
 
     console.log(receiptErr); 
 
     })

Verwandte Themen