有 2 个实体名为Article和Classification。而他们的关系是@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)
我可以保存Article并Classification成功。但我不确定如何保存它们的关系。
我试图通过以下代码保存关系:
async create(dto: ArticleClassificationDto): …Run Code Online (Sandbox Code Playgroud) 对于这个可能非常业余的问题,我深表歉意。来自 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)
或者将其导入LocationService到UserService.
在 Laravel 中,这就像“简单”一样$model->sync($relationship);
我如何导入/注入locationRepository到我的userRepository?感谢您的任何建议!