我正在研究 NestJS 并使用 TypeORM 与 MS SQLSERVER 连接。现在我正在开发 update 功能。我想检查更新后的数据是否重复,除了它本身之外。
所以,我想做一些类似的东西,
从 tblproducts 中选择 COUNT(*),其中 Product_no = :updatedProductNo AND Product_no != :currentProductNo
如果是相同的数据或者updatedProductNo是新的则返回0,否则如果数据已存在则返回1。
所以我的代码是这样的,
const productExist:number = this.productRepository.countBy({productNo: updateProductDto.productNo, productNo: Not(currentProduct.productNo)});
但是我会收到错误
一个对象字面量不能有多个同名的属性。
请帮忙。
您可以尝试使用 QueryBuilder 在同一字段上写入多个条件
const queryBuilder = productRepository.createQueryBuilder('product');
const productExist = await queryBuilder
.where('product.productNo = :productNo', { productNo:
updateProductDto.productNo })
.andWhere('product.productNo != :currentProductNo', { currentProductNo:
currentProduct.productNo })
.getCount();