如何查找关系和子关系



我是TypeOrm和NestJS的新手。你能建议我如何在代码中获取关系和子关系吗?我不明白如何获得所有关系委员会->列卡。感谢

Entity({ name: 'boards' })
export class Board {
@PrimaryGeneratedColumn()
public id!: number;
@Clmn({ type: 'varchar', length: 120 })
public name: string;
@CreateDateColumn({ type: 'timestamp' })
public created_at!: Date;
@UpdateDateColumn({ type: 'timestamp' })
public updated_at!: Date;
@OneToMany('Column', (column: Column) => column.board_id, {
onDelete: 'CASCADE',
onUpdate: 'CASCADE',
})
columns: Array<Column>;
}
@Entity({ name: 'columns' })
export class Column {
@PrimaryGeneratedColumn()
public id!: number;
@Colmn({ type: 'varchar', length: 120 })
public name: string;
@CreateDateColumn({ type: 'timestamp' })
public created_at!: Date;
@UpdateDateColumn({ type: 'timestamp' })
public updated_at!: Date;
@ManyToOne(() => Board, (board: Board) => board.columns)
@JoinColumn({ name: 'board_id' })
board_id: number;
@OneToMany('Card', (card: Card) => card.column_id, {
onDelete: 'CASCADE',
onUpdate: 'CASCADE',
})
columns: Array<Column>;
}
@Entity({ name: 'cards' })
export class Card {
@PrimaryGeneratedColumn()
public id!: number;
@Colmn({ type: 'varchar', length: 120 })
public name: string;
@Colmn({ type: 'varchar', length: 120 })
public text: string;
@CreateDateColumn({ type: 'timestamp' })
public created_at!: Date;
@UpdateDateColumn({ type: 'timestamp' })
public updated_at!: Date;
@ManyToOne(() => Column, (card: Column) => card.columns)
@JoinColumn({ name: 'column_id' })
column_id: number;
}

我检查了堆栈溢出中的所有文档和答案?但我不明白如何决定这个问题。我尝试这个代码,这导致了一个错误:关系";columns.card";未找到;请检查它是否正确,并且确实存在于您的实体中。

public async getBoardWithContent(board_id: number) {
return await this.boardsRepository.find({
where: { id: board_id },
relations: ['columns', 'columns.card'],
});
}

您的Column.columns属性非常奇怪,您的模型中似乎混淆了卡片和列。

我认为这应该是:

@OneToMany(() => Card, (card: Card) => card.column_id, {
onDelete: 'CASCADE',
onUpdate: 'CASCADE',
})
cards: Array<Card>;

然后。请求:

public async getBoardWithContent(board_id: number) {
return await this.boardsRepository.find({
where: { id: board_id },
relations: ['columns', 'columns.cards'],
});
}

应该起作用。