【发布时间】:2019-01-03 09:18:06
【问题描述】:
@Entity()
export class User {
@PrimaryColumn()
id: string;
@Column({unique: true})
username: string;
@Column({unique: true})
email: string;
@OneToMany(type => Post, post => post.id)
posts: Post[];
}
@Entity()
export class Post {
@PrimaryGeneratedColumn()
id: number;
@ManyToOne(type => User, user => user.posts)
@JoinColumn({name: 'user_id'})
user: User;
@OneToMany(type => Image, image => image.id)
images: Image[];
}
@Entity()
export class Image {
@PrimaryGeneratedColumn()
id: number;
@ManyToOne(type => Post, post => post.images)
@JoinColumn({name : 'post_id'})
post: Post;
}
我有这 3 个实体,我想进行查询以获取用户的所有帖子,并为该帖子获取所有图像。我正在尝试使用以下代码执行此操作:
return await this.postRepository.createQueryBuilder("post")
.innerJoinAndSelect("post.images", "image")
.where("user_id = :userId", {userId: id})
.getMany();
我收到以下错误:
Cannot read property 'joinColumns' of undefined
我也试过这个而不是上面的.innerJoin:
.innerJoinAndSelect(Image, "image", "image.post_id = post.id")
这样我就不会再收到那个错误了,但结果我只得到了帖子,我没有从中得到图片
【问题讨论】:
-
进展如何?问题解决了吗?