Postgresql TypeORM不';t在调用.save()方法后返回整个实体
我有一个简单的实体:Postgresql TypeORM不';t在调用.save()方法后返回整个实体,postgresql,typeorm,Postgresql,Typeorm,我有一个简单的实体: import { BaseEntity, Entity, Column, PrimaryGeneratedColumn, Timestamp } from 'typeorm'; @Entity('organizations') export class OrganizationEntity extends BaseEntity { @PrimaryGeneratedColumn() id: number; @Column('varchar', {
import { BaseEntity, Entity, Column, PrimaryGeneratedColumn, Timestamp } from 'typeorm';
@Entity('organizations')
export class OrganizationEntity extends BaseEntity {
@PrimaryGeneratedColumn()
id: number;
@Column('varchar', { length: 10 })
uid: string;
@Column('varchar', { length: 100 })
name: string;
@Column('varchar', { length: 100 })
status: string;
@Column('timestamp')
createdAt: Timestamp;
@Column('timestamp')
updatedAt: Timestamp;
@Column('timestamp')
deletedAt: Timestamp;
}
创建新实体:
const organization = new OrganizationEntity();
organization.name = 'someName';
organization.status = 'someStatus';
await organization.save();
在Postgres中,SQL如下所示:
INSERT INTO "organizations"("uid", "name", "status", "createdAt", "updatedAt", "deletedAt") VALUES (DEFAULT, $1, $2, DEFAULT, DEFAULT, DEFAULT) RETURNING "id", "status"
可以看出,它只返回RETURNING
语句中的填充字段。
我知道使用查询生成器有一些解决方法,但我担心在调用方法save
后,是否有任何语义方法可以返回整个实体,因此将有返回*
提前谢谢。谢谢。看起来这个问题正在发展中,可能很快就会得到解决。甚至还有公开的公关:。谢谢。看起来这个问题正在发展中,可能很快就会得到解决。甚至还有开放的PR:。在TypeORM修复之前,您可以使用类似的东西:
const user = await this.userRepository.findOne(id);
// handle user not found
const updatedUser = await this.userRepository.save({ id, ...updateDto });
return Object.assign(user, updatedUser);
在TypeORM修复之前,您可以使用类似的内容:
const user = await this.userRepository.findOne(id);
// handle user not found
const updatedUser = await this.userRepository.save({ id, ...updateDto });
return Object.assign(user, updatedUser);