再会。
该项目使用 TypeOrm。
我正在尝试建立表格之间的关系(就像一切都与码头一致)。
我的模型:
@Entity("order")
export class OrderEntity extends BaseEntity {
@PrimaryGeneratedColumn()
public ID!: number;
@Column()
public locator: string;
...
@OneToMany(() => OrderPassenger, (passenger) => passenger.order_id)
public passengers: OrderPassenger[];
public static TEST(id: number)
{
return this.createQueryBuilder("order")
.select("order.locator")
.leftJoinAndSelect("order.passengers", "passenger")
.where("order.ID = :id", { id })
.getMany();
/* первый вариант
return this.find({
relations: ["passengers"],
where: {ID: id},
});
*/
}
}
并进一步
@Entity("order_passengers")
export class OrderPassenger extends BaseEntity {
@PrimaryGeneratedColumn()
public ID!: number;
@Column()
public name_first: string;
...
@ManyToOne(() => OrderEntity, (order) => order.passengers)
public order: OrderEntity;
}
我正在尝试执行 TEST 方法,但出现错误:
TypeError: Cannot read property 'joinColumns' of undefined
我还尝试将 JoinColumn 装饰器与 OneToMany 和 ManyToOne 一起添加,结果是一样的。
OrderPassenger.order
您是否尝试在此处添加它JoinColumn
?@OneToMany(() => OrderPassenger, (passenger) => passenger.order_id)
而不是 order_id,它应该是 order - ORM 映射到类字段,而不是基本字段。