2016-05-09 4 views
0

Ich brauche unter Abfrage mit sequelizeSequilize Vereinigung für 2 foriegn Schlüssel gleichen Modells

SELECT * FROM haulerrfquotes 
LEFT JOIN quotes ON quotes.jobId = haulerrfquotes.jobId AND haulerrfquotes.haulerId = quotes.haulerId 
WHERE haulerrfquotes.jobId = '11' 

Aber ich immer bin nicht auszuführen, wie in demselben Modell zwei foriegn Schlüssel zu verwenden (haulerrfquotes) und Vereinigung beide zu schaffen foriegn keys to single model (zitate)

Antwort

1

In Sequelize können Sie Ihre eigene Join-Bedingung definieren, indem Sie die on Optionen im Include-Objekt angeben. Hier ist ein Beispiel, um die Abfrage in Frage

haulerrfquotes.findAll({ 
    where: { 
     jobId: 11 
    }, 
    include: [{ 
     model: quotes, 
     required: false, 
     on: { 
      jobId: { 
       $col: 'haulerrfquotes.jobId' 
      }, 
      haulerId: { 
       $col: 'haulerrfquotes.haulerId' 
      } 
     } 
    }] 
}).then(result => { 
    // The rest of your logic here... 
}); 
durchzuführen
Verwandte Themen