I have two Models related, Catalog and ProductCategory. The latter has a composed PK, \'id, language_id\'. Here are the models simplified:
var Catalog = sequelize
You can try this (Especially if you are using MariaDB) -
const Sequelize = require('sequelize');
const op = Sequelize.Op;
Catalog.find({where:
{id: itemId},
include: {
model: models.ProductCategory,
where: {
language_id: {[op.col]: 'Catalog.language_id'}
}
}
})
This seems this do the trick:
where: {language_id: models.sequelize.literal('Catalog.language_id')}
Sequelize provides an extra operator $col
for this case so you don't have to use sequelize.literal('...')
(which is more a hack).
In your example the usage would look like this:
Catalog.find({where:
{id: itemId},
include: {
model: models.ProductCategory,
where: {
language_id: {$col: 'Catalog.language_id'}
}
}
})