如何使用TypeOmm查询构建器与自定义属性保存多一的关系?
我需要在表和user
之间建立众多关系,其中每个user
都可以具有角色<代码> /code>(管理员,追随者...)在
组织
中。
我有:
组织
@Entity('organization')
class Organization extends BaseColumns {
@Column({ type: 'character varying', unique: true })
name: string;
@OneToMany(() => OrganizationUser, (organizationUser) => organizationUser.organization, { cascade: true })
organizationUser: OrganizationUser[];
}
用户
@Entity('user')
class User extends BaseColumns {
@Column({ type: 'character varying', unique: true })
email: string;
@Column({ type: 'character varying', name: 'password-hash' })
passwordHash: string | null;
@OneToMany(() => OrganizationUser, (organizationUser) => organizationUser.user, { cascade: true })
organizationUser: OrganizationUser[];
}
角色
@Entity('role')
class Role extends BaseColumns {
@Column({ type: 'enum', enum: RoleType, default: RoleType.Contributor })
name: RoleType;
@OneToMany(() => OrganizationUser, (organizationUser: OrganizationUser) => organizationUser.role, { cascade: true })
organizationUser: OrganizationUser[];
}
组织者
@Entity('organization-user')
class OrganizationUser extends BaseColumns {
@Column({ name: 'user-id' })
userId: string;
@Column({ name: 'organization-id' })
organizationId: string;
@ManyToOne(() => Role, (role: Role) => role.organizationUser, { cascade: true })
role: Role;
@ManyToOne(() => User, (user: User) => user.organizationUser)
user: User;
@ManyToOne(() => Organization, (organization: Organization) => organization.organizationUser)
organization: Organization;
}
如何使用TypeOmm查询构建器在数据库中添加新的插入?
I need to create a many-to-many relationship between the tables organisation
and user
, where each user
can have a role
(admin, follower...) in the organisation
.
I have :
Organization
@Entity('organization')
class Organization extends BaseColumns {
@Column({ type: 'character varying', unique: true })
name: string;
@OneToMany(() => OrganizationUser, (organizationUser) => organizationUser.organization, { cascade: true })
organizationUser: OrganizationUser[];
}
User
@Entity('user')
class User extends BaseColumns {
@Column({ type: 'character varying', unique: true })
email: string;
@Column({ type: 'character varying', name: 'password-hash' })
passwordHash: string | null;
@OneToMany(() => OrganizationUser, (organizationUser) => organizationUser.user, { cascade: true })
organizationUser: OrganizationUser[];
}
Role
@Entity('role')
class Role extends BaseColumns {
@Column({ type: 'enum', enum: RoleType, default: RoleType.Contributor })
name: RoleType;
@OneToMany(() => OrganizationUser, (organizationUser: OrganizationUser) => organizationUser.role, { cascade: true })
organizationUser: OrganizationUser[];
}
OrganizationUser
@Entity('organization-user')
class OrganizationUser extends BaseColumns {
@Column({ name: 'user-id' })
userId: string;
@Column({ name: 'organization-id' })
organizationId: string;
@ManyToOne(() => Role, (role: Role) => role.organizationUser, { cascade: true })
role: Role;
@ManyToOne(() => User, (user: User) => user.organizationUser)
user: User;
@ManyToOne(() => Organization, (organization: Organization) => organization.organizationUser)
organization: Organization;
}
How can I add a new insertion in the database with the typeORM Query Builder please ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论