首页 > 解决方案 > 如何使用 Angular 防止多对多表中的重复实体

问题描述

如何防止具有相同实体组合的记录重复,此处:id_product 和 id_customer。当我单击“保存关系”时,会创建产品和客户之间的关系(多对多),并且该关系有自己的 id、id_product 和 id_customer。如果 MySQL 数据库中已经存在这种组合,是否有任何解决方案可以阻止创建产品和客户之间的关系?

public saveRelation = (relationFormValue) => {
const newRelation = {
  id_product: relationFormValue.id_product ,
  id_customer: relationFormValue.id_customer
};

const dialogRef = this.dialog.open(ConfirmDialogComponent, {
  maxWidth: "400px",
  data: new ConfirmDialogModel("Please confirm",'Are you sure to save this relation ?')
});

dialogRef.afterClosed().subscribe(dialogResult => {
  if (dialogResult==true) {
    this.relationService.create(newRelation)
      .subscribe(
        response => {
          this.dialogRef.close(true);              
        },
        error => {
          this.errorService.handleError(error);
        });
  }
});

}

标签: mysqlangulartypescript

解决方案


推荐阅读