Как я могу добавить сущность к связи только с идентификатором, не выбирая его? - PullRequest
0 голосов
/ 26 июня 2019

Я создаю отношение «многие ко многим»

@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);

Я знаю, что это неправильно.

Как я могу это сделать?

Спасибо

...