Я создаю отношение «многие ко многим»
@Entity({
name: 'product'
})
export class Product {
@PrimaryGeneratedColumn()
id: number;
@Column()
name: string;
@Column({type: 'decimal', precision: 13, scale: 2})
price: number;
@ManyToMany(() => Tag, (tag: Tag) => tag.products)
@JoinTable({
name: 'product_tag'
})
tags: Tag[];
@CreateDateColumn()
createdAt: Timestamp;
@UpdateDateColumn()
updatedAt: Timestamp;
}
@Entity({
name: 'tag'
})
export class Tag {
@PrimaryGeneratedColumn()
id: number;
@Column()
name: string;
@ManyToMany(() => Product, (product: Product) => product.tags)
products: Product[];
@CreateDateColumn()
createdAt: Timestamp;
@UpdateDateColumn()
updatedAt: Timestamp;
}
Допустим, в БД есть какой-то тег.Например: Tag = [{id: 1, name: 'pc'}, {id: 2, name: 'laptop'}]
И у меня есть продукт Product = [{id: 1, name: 'Zenbook', price: 10000 }]
Теперь мне нужно добавить эти теги к продукту.
Я хотел сделать что-то подобное
const product = await this.repository.findOne({id: 1});
product.tags = [{id: 1}, {id:2}];
await this.repository.save(product);
Я знаю, что это неправильно.
Как я могу это сделать?
Спасибо