【问题标题】:TypeORM basic join explanationTypeORM基本连接说明
【发布时间】:2018-11-04 14:14:03
【问题描述】:

根据typeormguide

这部分我不是很懂:

(type => Photo, photo => photo.user)

什么是类型?照片 => 照片是什么意思。 ? .链接上的解释不好。

部分代码:

Import {Entity, PrimaryGeneratedColumn, Column, OneToMany} from "typeorm";
import {Photo} from "./Photo";

@Entity()
export class User {
    
    @PrimaryGeneratedColumn()
    id: number;
    
    @Column()
    name: string;
    
    @OneToMany(type => Photo, photo => photo.user)
    photos: Photo[];
}

关于代码:

const user = await createQueryBuilder("user")
    .leftJoinAndSelect("user.photos", "photo")
    .where("user.name = :name", { name: "Timber" })
    .getOne();

“user.photos”从何而来?

【问题讨论】:

    标签: typeorm typeorm-datamapper


    【解决方案1】:

    第一个问题:(type => Photo, photo => photo.user)

    @OneToMany的装饰器有两个函数,第一个返回相关实体,第二个返回相关实体的“外键”属性。由于甚至没有使用“类型”,因此您实际上不需要它。我使用@OneToMany(()=> Photo, photo => photo.user) 完全省略了类型,这对我来说不是问题。

    第二个问题:where comes "user.photos"

    leftJoinAndSelect("user.photos", "photo") 引用了在 User 实体中定义的属性 photos。这是 User 类的最后一行。

    【讨论】:

      猜你喜欢
      • 2019-08-03
      • 1970-01-01
      • 1970-01-01
      • 2012-02-29
      • 2020-11-16
      • 1970-01-01
      • 2019-12-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多