因此,当删除与另一个资源相关的资源时,我们试图检查代码中是否存在可能的错误。例如,我们有一个Progress
实体,它与User
相关,然后与Employee
相关。User
实体实现软删除。如果我们删除与进度数据相关的用户,那么this.logger.log(progress.user.employee)
将返回一个错误。当然,让用户可选(progress.user?
)会解决这个问题,但我很好奇在Progress
实体中让User
列可选是否会有任何不同。
因此,在Progress
实体上,我们有这样的:
@ManyToOne((_) => User)
@JoinColumn({ name: 'user_id' })
user: User;
我想知道让这个用户可选是否会改变什么。
软删除是指不删除行,而是更新特定行的deleted_at
标志。因此,用户应该始终可用。你能为你正在努力实现的目标添加更多的上下文吗。试着在解释你的问题时有点冗长
您可以检查字段进度用户在任何请求下,如果已经不存在,则删除关系