【发布时间】:2021-12-10 13:03:30
【问题描述】:
我正在我的系统中构建一个 UserService 类,并声明它应该是一个简单的“查找”方法,但我收到了如下图所示的错误:
这是我的service 方法:
@Injectable()
export class UsersService {
...
async findByRA(academicRegister: string) {
return await this.userRepository.findOne({
where: { academicRegister: academicRegister },
});
}
...
}
这是我的controller:
@Controller('users')
export class UsersController {
...
@Get('ra/:ra')
findByRa(@Param('ra') ra: string) {
return this.usersService.findByRA(ra);
}
...
}
这是我的User 实体,如果我将eager 更改为false,则不会发生错误,但是我没有从我需要的子实体中获取数据
@Entity()
export class User {
@PrimaryGeneratedColumn('uuid')
id: string;
@Column()
@ApiProperty({ enum: UserRole, enumName: 'UserRole' })
userRole: UserRole;
@Column()
academicRegister: string;
@Column()
password: string;
@OneToOne(() => Coordinator, (coordinator) => coordinator.user, {
eager: true,
nullable: true,
cascade: ['insert', 'update', 'soft-remove', 'recover'],
})
coordinator?: Coordinator;
@OneToOne(() => Monitor, (monitor) => monitor.user, {
eager: true,
nullable: true,
cascade: ['insert', 'update', 'soft-remove', 'recover'],
})
monitor?: Monitor;
@CreateDateColumn()
creationDate: Date;
@DeleteDateColumn()
deletionDate?: Date;
@Column({ nullable: true })
deletedBy?: string;
}
这些是子实体中的相关列:
export class Coordinator {
...
@Column({ nullable: true, unique: true })
userId: string;
@OneToOne(() => User, (user) => user.coordinator, {
orphanedRowAction: 'nullify',
cascade: ['insert', 'update', 'soft-remove', 'recover'],
})
user: User;
...
}
export class Monitor {
...
@Column({ nullable: true, unique: true })
userId: string;
@OneToOne(() => User, (user) => user.monitor, {
orphanedRowAction: 'nullify',
cascade: ['insert', 'update', 'soft-remove', 'recover'],
})
user: User;
...
}
【问题讨论】:
-
请不要发布异常的图片,而是发布内容
标签: node.js postgresql nestjs typeorm