【发布时间】:2022-01-22 07:23:17
【问题描述】:
我们有:
Postgres 数据库
照片:
import {Entity, PrimaryGeneratedColumn, Column, ManyToOne} from "typeorm";
import {User} from "./User";
@Entity()
export class Photo {
@PrimaryGeneratedColumn()
id: number;
@Column()
url: string;
@ManyToOne(() => User, user => user.photos)
user: User;
}
用户:
import {Entity, PrimaryGeneratedColumn, Column, OneToMany} from "typeorm";
import {Photo} from "./Photo";
@Entity()
export class User {
@PrimaryGeneratedColumn()
id: number;
@Column()
name: string;
@OneToMany(() => Photo, photo => photo.user)
photos: Photo[];
}
表格:
+-------------+--------------+----------------------------+
| photo |
+-------------+--------------+----------------------------+
| id | int(11) | PRIMARY KEY AUTO_INCREMENT |
| url | varchar(255) | |
| userId | int(11) | FOREIGN KEY |
+-------------+--------------+----------------------------+
+-------------+--------------+----------------------------+
| user |
+-------------+--------------+----------------------------+
| id | int(11) | PRIMARY KEY AUTO_INCREMENT |
| name | varchar(255) | |
+-------------+--------------+----------------------------+
所以一个用户可能有几张照片。
我想更新一位用户并更新他们的照片(这是一张不同的表格)。
以下是更新用户的方法:
await getRepository(User).update({ id }, userData);
问题是如何同时更新用户的照片?
请注意,当用户当前有 3 张照片时可能会出现问题,但例如您设置的是 2 张。所以你正在减少照片的数量。
【问题讨论】:
标签: database postgresql typeorm