Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Postgresql TypeORM不';t在调用.save()方法后返回整个实体_Postgresql_Typeorm - Fatal编程技术网

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);