2015-03-10 1 views
7

Ho due tabelle che devo associare. TableA ha una tabellaB. Sono in grado di farlo nel Modello TableA:Sequenza unione su chiave non primaria

TableA.hasOne(models.TableB, { as: 'TableB', foreignKey: 'someID' }); 

Guardando lo SQL, questo cerca di unire TableA.ID e TableB.someID. Quello che voglio veramente è unire TableA.someNonPrimaryKey e TableB.someID.

Come posso dire sequelize per unire con someNonPrimaryKey?

+1

Questo non è possibile in sequelize al momento –

risposta

2

Questo non è possibile in sequelize al momento, tuttavia è possibile provare in questo modo.

Differenza tra HasOne e BelongsTo, HasOne inserisce la chiave di associazione nel modello di destinazione mentre BelongsTo inserisce la chiave di associazione nel modello di origine. associazione piuttosto hasOne uguale Pertinenti

TableB.belongsTo(models.TableA, { as: 'TableA', foreignKey: 'someID', targetKey: 'notTableAID' }); 
+0

metioned 'targetKey' che non ho notato nella documentazione – renatoargh