首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在TypeOrm中更新表及其关系

在TypeOrm中更新表及其关系
EN

Stack Overflow用户
提问于 2021-12-20 17:39:11
回答 1查看 630关注 0票数 1

我们有:

Postgres数据库

照片:

代码语言:javascript
复制
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;

}

用户:

代码语言:javascript
复制
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[];

}

表:

代码语言:javascript
复制
+-------------+--------------+----------------------------+
|                         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) |                            |
+-------------+--------------+----------------------------+

,因此一个用户可能有几张照片.

我想更新一个用户并更新他们的照片(这是一个不同的表).

以下是如何更新用户:

代码语言:javascript
复制
await getRepository(User).update({ id }, userData);

问题是如何更新用户的照片?

请注意,当用户当前有3张照片时,可能会出现问题,但是您设置的是2。所以你减少了照片的数量。

EN

回答 1

Stack Overflow用户

发布于 2022-04-29 13:53:10

您可以使用以下样式:

代码语言:javascript
复制
const user = await getRepository(User).findOne(id);

user.name = newUserName;
user.photos = [photo1, photo2];

await user.save();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70425841

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档