티스토리 뷰
1. on: {} 키워드를 사용해서 on 조건을 명시해 줄수 있음.(jpa에서 @JoinColums와 비슷..)
let list = await this.findAll({
where: where,
limit: parseInt(w.limit || 10),
offset: parseInt(w.offset || 0),
include: [
{
model: db.productSupplier,
on: {
prodId: db.sequelize.where(db.sequelize.col('price.prodId'), '=', db.sequelize.col('productSupplier.prodId')),
suplrId: db.sequelize.where(db.sequelize.col('price.suplrId'), '=', db.sequelize.col('productSupplier.suplrId')),
},
required: true,
include: [
{
model: db.product,
required: true
},
{
model: db.supplier,
required: true
}
],
order: [['prodId', 'ASC'], ['suplrId', 'ASC'],['price', 'ASC']]
}
]
});
2. main테이블이 아닌 필드에서 검색하여야 할 상황
where.id = {
[Op.or] : [
{
[Op.in]: db.sequelize.literal("(
SELECT D.reqId
FROM T_PRODUCT
WHERE productName LIKE '%" + where.product + "%'
)")
}
]
}
위 2가지 상황에서 더 좋은 해결책이 있으면 댓글 부탁드립니다.
'Javascript > Node.js' 카테고리의 다른 글
[NODEJS] node server.js 되는데 pm2가 안될 때 (0) | 2023.05.17 |
---|---|
[Sequelize] raw query 로 nested object 만들기 (0) | 2020.06.01 |
[Node.js] vscode에서 pm2 start pm2.json 을 사용할 때 디버깅방법 (0) | 2020.01.07 |