gpt4 book ai didi

Nestjs如何用中间表正确映射2个表

转载 作者:行者123 更新时间:2023-12-04 09:18:45 26 4
gpt4 key购买 nike

我正在使用 Postgres因为数据库有下一个表:
学生

id: Integer (PK)
name: Text
主题
id: Integer (PK)
name: Text
student_assignation
student_id: Integer (PK)
subject_id: Integer (PK)
这些表没有 Auto-generated PK .
所以,我的实体是:
Student.entity.ts
import { Entity, Column, PrimaryGeneratedColumn, OneToMany, PrimaryColumn } from 'typeorm';
import { student_assignation } from './student_assignation.entity';
import { Subject } from './subject.entity';

@Entity()
export class Student {
@Column('number')
@PrimaryColumn()
id: number;

@Column('text')
name: string;

@OneToMany(type => student_assignation, x => x.subject_id)
//student_assignations: student_assignation[];
}
好吧,这是我的问题:
我正在尝试将所有主题分配给用户。
SQL术语,我将其定义为:
SELECT 
u.id, u.name, r.id, r.name
FROM
student u INNER JOIN student_assignation ra
ON u.id = ra.student_id
INNER JOIN subject r
ON r.id = ra.subject_id
WHERE
u.id = 1
但是目前在nestjs中转换和使用它,我有这个关系:
@OneToMany(type => student_assignation, x => x.subject_id)

@ManyToOne(type => subject, x => x.id)
但是,不检索任何信息。

最佳答案

你需要多对多的关系。看看 TypeOrm 实现 here

关于Nestjs如何用中间表正确映射2个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63137310/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com