属性'findAncestors'在类型 'Repository ' 上不存在



嗨,我的typeorm代码有问题。

我从这里开始举例:https://github.com/typeorm/typeorm/blob/master/docs/tree-entities.md#materialized-路径又称路径枚举。

所以我的实体看起来像:

import {
Entity,
PrimaryGeneratedColumn,
Column,
CreateDateColumn,
UpdateDateColumn,
Tree,
TreeChildren,
TreeParent,
} from 'typeorm';
@Entity()
@Tree('materialized-path')
export class Category {
@PrimaryGeneratedColumn()
id: number;
@Column()
name: string;
@TreeChildren()
children: Category[];
@TreeParent()
parent: Category;
@CreateDateColumn({
type: 'timestamp',
default: () => 'CURRENT_TIMESTAMP(6)',
})
public createdAt: Date;
@UpdateDateColumn({
type: 'timestamp',
default: () => 'CURRENT_TIMESTAMP(6)',
onUpdate: 'CURRENT_TIMESTAMP(6)',
})
public updatedAt: Date;
}

在我的名为"CategoryController"的控制器中,我想获得整个树,但我得到了一个错误,即"findAncestors"不存在。

import {  getRepository } from 'typeorm';
import {Category} from "../entity/Categories";
export class CategoryController {
private categoryRepository = getRepository(Category);
async getCategoryTreeBySingleCategory(category:Category|string){
{...}
return await this.categoryRepository.findAncestors(category); // <--- Property 'findAncestors' does not exist on type 'Repository '.
}
}

有人知道为什么,可以帮助我吗?

提前感谢!

成员函数findAncestors仅在类型TreeRepository上定义,该类型是通过使用getTreeRepository而不是getRepository获得的。

因此写入

import {  getRepository } from 'typeorm';
import {Category} from "../entity/Categories";
export class CategoryController {
private categoryRepository = getTreeRepository(Category);
async getCategoryTreeBySingleCategory(category:Category|string){
{...}
return await this.categoryRepository.findAncestors(category);
}
}

如果有人在写时遇到问题

Category.find((

并且get error find((没有定义或者类似的东西,那么

类型导入基本实体

export class Category extends BaseEntity

最新更新