Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.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
Typescript 使用TypeForm find找不到实体列_Typescript_Typeorm - Fatal编程技术网

Typescript 使用TypeForm find找不到实体列

Typescript 使用TypeForm find找不到实体列,typescript,typeorm,Typescript,Typeorm,我正在尝试使用存储库关系中的条件find()存储库 (节点:16719)未处理的PromisejectionWarning:EntityColumnNotFound:未找到实体列“order.paid”。 关系如下: await this.payments.items.find({ where: { createdAt: Between(from, to), 'order.paid': true, shipped: true }, order: { createdAt: 'ASC' } });

我正在尝试使用存储库关系中的条件
find()
存储库

(节点:16719)未处理的PromisejectionWarning:EntityColumnNotFound:未找到实体列“order.paid”。

关系如下:

await this.payments.items.find({ where: { createdAt: Between(from, to), 'order.paid': true, shipped: true }, order: { createdAt: 'ASC' } });
订单号

@Entity('orders')
export class Order extends BaseModel {
  @PrimaryGeneratedColumn('uuid')
  @ApiProperty({ description: 'The Order ID' })
  id: string;

  // The Payment is finished or not
  @Column('boolean', { nullable: false, default: false })
  @ApiProperty({ description: 'Payment Confirmation for Database side' })
  paid: boolean;


  // The Items
  @OneToMany(type => Item, item => item.order, { nullable: false, eager: true, cascade: ['insert', 'update', 'remove'] })
  @ApiProperty({ description: 'The Order Items', isArray: true, type: Item })
  items: Item[];
}
项目1.ts

export class Item extends BaseModel {
  @PrimaryGeneratedColumn('uuid')
  @ApiProperty({ description: 'The Item UUID' })
  id: string;

  @ManyToOne(type => Order, order => order.items, { nullable: false })
  @JoinColumn()
  order: Order;

  // The Shipping is finished or not
  @ApiProperty({ description: 'Shipped Indicator' })
  @Column('boolean', { nullable: false, default: false })
  shipped: boolean;
}
查找代码如下所示:

await this.payments.items.find({ where: { createdAt: Between(from, to), 'order.paid': true, shipped: true }, order: { createdAt: 'ASC' } });
我尝试了以下变化:

await this.payments.items.find({ where: { createdAt: Between(from, to), order:{ paid:true}, shipped: true }, order: { createdAt: 'ASC' } });
但都不管用


我知道将项目存储库更改为“急切评估”可能会使其正常工作,但typeorm会禁用循环急切声明。

这似乎在过去一个月内得到了解决(一些小问题仍在解决):

这应该行得通

await this.payments.items.find({ where: { createdAt: Between(from, to), order:{ paid:true}, shipped: true }, order: { createdAt: 'ASC' } });
外键似乎不起作用:

注意:如果from/to应该是日期,而不是时间戳,则需要使用date fn的startOfDay(x)和endOfDay(x)