我通过UserCategory在用户和类别之间建立了多对多关系,如下所示。
let user = await User.findAll({
where: {
id: req.query.user
},
attributes: ["id", "name"],
include: [
{
model: models.Category,
as: "interests",
attributes: ["id", "name", "nameTH", "icon"],
through: {
model: models.UserCategory,
as: "user_categories",
attributes: ["id", "userId", "categoryId", "updatedAt"]
}
}
],
// Here, I want to order by updatedAt in user_categories
order: [["user_categories", "updatedAt", "DESC"]]
});
Run Code Online (Sandbox Code Playgroud)
如何在UserCategory模型中通过“updatedAt”对结果进行排序?
当用户被删除时,我尝试删除用户的个人资料。但它并没有删除个人资料上的任何内容。
用户实体
@Entity()
export class User {
@PrimaryGeneratedColumn()
id: number;
@Column()
name: string;
@OneToOne(type => Profile, profile => profile.user,
{ eager: true, cascade: true, onDelete: 'CASCADE' })
@JoinColumn()
profile: Profile;
}
Run Code Online (Sandbox Code Playgroud)
配置文件实体
@Entity()
export class Profile {
@PrimaryGeneratedColumn()
id: number;
@Column()
gender: string;
@Column()
photo: string;
@OneToOne(type => User, user => user.profile)
user: User;
}
Run Code Online (Sandbox Code Playgroud)
我如何删除用户。
const userRepository = connection.getRepository(User);
const user = await userRepository.findOne({ where: {id: 'someuserId'}, relations: ["profile"] });
await user.remove()
Run Code Online (Sandbox Code Playgroud)
用户已被删除,但用户的个人资料上没有任何反应。
谁能解释如何删除一对一的关系?
express ×1
javascript ×1
mysql ×1
nestjs ×1
node.js ×1
sequelize.js ×1
sql ×1
typeorm ×1
typescript ×1