[英]TypeORM - Problem with LEFT JOIN/ INNER JOIN between 3 related tables
[英]Join Tables in TypeORM & NodeJS
我創建了 TypeORM 實體類別和子類別
類別.ts
@Entity()
export class Category {
@PrimaryGeneratedColumn()
id: number;
@Column()
name: string;
@Column()
description: string;
@OneToMany(() => Subcategory, (subcategory) => subcategory.category)
public Subcategories: Subcategory[];
@OneToMany(() => Item, (item) => item.category)
public Items: Item[];
}
子類別.ts
import {
Entity,
PrimaryGeneratedColumn,
Column,
ManyToOne,
OneToMany,
CreateDateColumn,
UpdateDateColumn
} from "typeorm";
import {Category} from "./Category";
import {Item} from "./Item";
@Entity()
export class Subcategory {
@PrimaryGeneratedColumn()
id: number;
@Column()
name: string;
@Column()
description: string;
@ManyToOne(() => Category, (category) => category.Subcategories)
public category: Category;
@OneToMany(() => Item, (item) => item.subcategory)
public Items: Item[];
}
在 TypeScript 上獲取類別查詢:
await getRepository(Category).find();
問題:
我無法在網上找到一種方法將子類別包含到 getCategory 查詢中,我只是執行一個簡單的連接,它將獲得所有類別及其子類別。 在實體框架中,我習慣於使用 Category.Includes(Subcategories) 之類的東西,它可以完成這項工作。
是否有任何簡單/簡單的方法來連接 TypeORM/NodeJS 中的表?
非常感謝您花時間閱讀我的問題,我很感激!
在查找了不同的教程后,我發現這種方式非常適合我的需要:
const categories = await getRepository(Category).find({relations: ['Subcategories']});
const categories = await getRepository(Category).createQueryBuilder("ct").
innerJoinAndSelect("ct.Subcategories", "sb").getMany()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.