Wir verwenden js-data-sql
DSSqlAdapter in unserem Backend-Dienst nodejs. Unser Modell Definition hat eine hasOne
Beziehung wie folgt definiert:js-data-sql DSSqlAdapter Linke Verknüpfung für hasOne-Beziehungen erstellen
module.exports = {
name: 'covariance_predictions',
idAttribute: 'id',
relations: {
belongsTo: {
assets: {
localKey: 'asset_1_id',
localField: 'Covariance_Predictions'
}
},
hasOne: {
currencies: {
localField: 'currency',
localKey: 'currency_id'
}
}
}
};
Wir haben den Adapter rufen mit:
covariancePredictions.findAll(params, {
with: ['currencies']
})
Frage
Nach dem Aktivieren knex
Debuggen wir herausgefunden, dass es verwendet keine left join
-Anweisung, sondern eine nachfolgende SQL-Abfrage wie:
sql: 'select "currencies".* from "currencies" where "id" in (?, ?, ?, ?, ?, ?, ?)' }
Hat jemand eine Idee, wie man js-data-sql
DSSqlAdapter eine left join
stattdessen bauen? Wie:
select "covariance_predictions".id, [...], "currencies".code from "covariance_predictions" left join "currencies" on "currencies".id = "covariance_predictions".currency_id;
Dank für Ihr Feedback zu verlängern . Ich habe die Frage aktualisiert, um Links-Joins zu generieren, und Ihr GitHub-Problem unterstützt. –