相关疑难解决方法(0)

如何在typeORM中保存@ManyToMany中的关系

有 2 个实体名为ArticleClassification。而他们的关系是@ManyToMany

这是我的问题:如何保存关系?

我的代码如下:

  @Entity()
    export class Article {
        @PrimaryGeneratedColumn()
        id: number;

        @Column()
        name: string;

        @CreateDateColumn()
        createTime: Date;

        @UpdateDateColumn()
        updateTime: Date;

        @Column({
            type: 'text',
        })
        content: string;

        @Column({
            default: 0,
        })
        likeAmount: number;

        @Column({
            default: 0,
        })
        commentAmount: number;
    }

    @Entity()
    export class Classification {
        @PrimaryGeneratedColumn()
        id: number;

        @CreateDateColumn()
        createTime: Date;

        @UpdateDateColumn()
        updateTime: Date;

        @Column()
        name: string;

        @ManyToMany(type => Article)
        @JoinTable()
        articles: Article[];
    }
Run Code Online (Sandbox Code Playgroud)

我可以保存ArticleClassification成功。但我不确定如何保存它们的关系。

我试图通过以下代码保存关系:

async create(dto: ArticleClassificationDto): …
Run Code Online (Sandbox Code Playgroud)

javascript orm node.js typeorm nestjs

8
推荐指数
1
解决办法
2万
查看次数

NestJs:如何将一个存储库导入另一个存储库?

对于这个可能非常业余的问题,我深表歉意。来自 Laravel,这对我来说仍然很困惑,我只是不明白需要什么。

我有一个user.repository.ts文件和一个location.repository.ts文件。每个都有自己的模块、控制器和服务。我已成功为每个实体创建 CRUD 操作,但现在正在尝试建立多对多关系。

在我的user.repository.ts文件中,我尝试保存相关的(多对多)存储库:

// user.repository.ts

user.locations = await this.locationRepository.findByIds(locations);
...

await user.save();
Run Code Online (Sandbox Code Playgroud)

我不确定如何注入或导入location.repository.ts文件。我尝试了多种将服务导入到每个模块的方法。或者将每个模块导入另一个模块中。我尝试过不同的版本:

@EntityRepository(User)
@EntityRepository(Location)
Run Code Online (Sandbox Code Playgroud)

或者将其导入LocationServiceUserService.

在 Laravel 中,这就像“简单”一样$model->sync($relationship);

我如何导入/注入locationRepository到我的userRepository?感谢您的任何建议!

nestjs

1
推荐指数
1
解决办法
3012
查看次数

标签 统计

nestjs ×2

javascript ×1

node.js ×1

orm ×1

typeorm ×1