nestjs - 如何从左连接表中选择数据?
问题描述
我有两个实体:用户和设置表。
@Entity()
export class Users {
@PrimaryGeneratedColumn()
id: number;
@Column()
name: string;
@Column()
settingID: number;
}
@Entity()
export class Settings {
@PrimaryGeneratedColumn()
id: number;
@Column()
name: string;
}
如何从设置表中选择数据?
return this.usersRepository
.createQueryBuilder("users")
.select(['users.id', 'users.name', 'settings.name'])
.leftJoinAndSelect(Settings, 'settings', 'users.settingID = settings.id')
.getMany();
现在我没有从设置表中获取数据,只有用户表。
解决方案
return this.usersRepository
.createQueryBuilder("users")
.select(['users.id', 'users.name'])
.leftJoinAndSelect('users.settings', 'settings', 'users.settingID = settings.id')
.addSelect(['settings.name', 'settings.prop1', 'settings.prop2'])
.getMany();
或者
return this.usersRepository
.createQueryBuilder("users")
.leftJoinAndSelect('users.settings', 'settings', 'users.settingID = settings.id')
.select(['users.id', 'users.name', 'settings.name', 'settings.prop1', 'settings.prop2'])
.getMany();
推荐阅读
- html - 针对移动设备的适配,谷歌看不出是自适应的
- java - 使用正则表达式java替换字符组合
- python - 熊猫数据框无法获得价值
- ms-access - “无法更新;当前已锁定” VBA 引起的错误?
- python - 在外部方法中捕获异常的安全问题?Python
- azure - 扩展 azure webapp 时的 SignalR 问题
- excel - Excel - 根据两个日期计算未清项目数
- c# - 单击事件后将值保存在列表中
- asp.net - 通过 Web 部署发布更新到 Azure Web 应用程序,对流程和时间感到困惑
- c# - 在 ASP.Net Core 文档中使用 AsNoTracking