我有一个设备实体和一个相关的数据实体
设备实体
export class Devices extends BaseEntity{
@PrimaryColumn()
id_device: number;
@Column("varchar", { length: 50 , default: "---"})
name: string;
@Column("varchar", { length: 50 , default: "---" })
address: string;
@Column({default: false})
shared: boolean;
@OneToMany(() => Data, data => data.id_data)
Data: Data[];
}
数据实体
export class Data extends BaseEntity{
@PrimaryGeneratedColumn()
id_data: number;
@Column()
temperature: number;
@Column({nullable: true})
id_device: number;
@CreateDateColumn()
time;
@ManyToOne(()=>Devices, devices => devices.id_device,{
onDelete: 'CASCADE',
onUpdate: 'CASCADE'
})
@JoinColumn({name: "id_device"})
devices: Devices;
}
我想获取所有最新的设备已将其共享设置为true的数据条目。
如何使用QueryBuilder完成此操作?
2条答案
按热度按时间nhaq1z211#
如果设备可以有许多数据条目,并且数据可以有许多设备,则应该是ManyToMany关系。
下面是查询生成器的方法:
a64a0gku2#
以下是如何在不使用查询生成器的情况下完成此操作的方法。