问题描述
你好,我有以下关系:
1名员工可以拥有一个用户
我的用户实体:
@Entity({ name: 'users' })
export default class User {
constructor(isActive: boolean,login: string,password: string) {
this.isActive = isActive;
this.login = login;
this.password = password;
}
@PrimaryGeneratedColumn('uuid')
id: string;
@Column({ name: 'login',nullable: false })
login: string;
@Column({ nullable: false })
password: string;
@Column({ name: 'is_active',nullable: true,default: false })
isActive: boolean;
@OneToOne(() => Employee,(employee: Employee) => employee.user)
employee: Employee;
@CreateDateColumn({ name: 'created_at' })
createdAt: Date;
@CreateDateColumn({ name: 'updated_at' })
UpdatedAt: Date;
@BeforeInsert()
async beforeInsert() {
this.password = await bcrypt.hash(this.password,bcrypt.genSaltSync(10));
}
}
我的员工实体:
@Entity({ name: 'employees' })
@Index(['matricula'],{ unique: true })
export default class Employee {
constructor(firstName: string,lastName: string) {
this.firstName = firstName;
this.lastName = lastName;
}
@PrimaryGeneratedColumn('uuid')
id: string;
@Column({ name: 'matricula',nullable: false })
matricula: string;
@Column({ name: 'first_name',nullable: false })
firstName: string;
@Column({ name: 'last_name',nullable: false })
lastName: string;
@Column({ type: 'string',name: 'user_id',nullable: true })
user_id: string;
@Column()
departament_id: string;
@OneToOne(
() => Departament,(departament: Departament) => departament.manager,)
@ManyToOne(
() => Departament,(departament: Departament) => departament.employees,)
@JoinColumn({ name: 'departament_id' })
departament: Departament;
@OneToOne(() => User,(user: User) => user.employee)
@JoinColumn({ name: 'user_id' })
user: User;
@CreateDateColumn({ name: 'created_at' })
createdAt: Date;
@CreateDateColumn({ name: 'updated_at' })
UpdatedAt: Date;
}
这是我用来添加有用户或没有用户的新员工的功能:
public async create(data: IEmployee): Promise<Employee> {
const employee = await this.ormRepository.create({
matricula: data.matricula,firstName: data.first_name,lastName: data.last_name,user: data.user,departament_id: data.departament_id,});
await this.ormRepository.save(employee);
return employee;
}
但是当我要兑现承诺时,尝试使用时会出错:
等待this.ormRepository.save(员工);
并收到此错误:
UpdateValuesMissingError:无法执行更新查询,因为更新 值未定义。调用“ qb.set(...)”方法以指定更新 值。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)