我们有:
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。所以你减少了照片的数量。
发布于 2022-04-29 13:53:10
您可以使用以下样式:
const user = await getRepository(User).findOne(id);
user.name = newUserName;
user.photos = [photo1, photo2];
await user.save();https://stackoverflow.com/questions/70425841
复制相似问题