Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.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
类型表未保存到SQL数据库_Sql_Node.js_Typescript_Nestjs_Typeorm - Fatal编程技术网

类型表未保存到SQL数据库

类型表未保存到SQL数据库,sql,node.js,typescript,nestjs,typeorm,Sql,Node.js,Typescript,Nestjs,Typeorm,所以我在NestJS上工作,作为orm,我使用Typeorm 我有两张像这样用@ManyToOne连接的桌子。 这些是我的实体 订单实体 import { plainToClass } from 'class-transformer'; import { Entity, Column, CreateDateColumn, ManyToOne, JoinColumn } from 'typeorm'; import { AbstractEntity } from '../../../common/

所以我在NestJS上工作,作为orm,我使用Typeorm 我有两张像这样用@ManyToOne连接的桌子。 这些是我的实体

订单实体

import { plainToClass } from 'class-transformer';
import { Entity, Column, CreateDateColumn, ManyToOne, JoinColumn } from 'typeorm';
import { AbstractEntity } from '../../../common/abstract.entity';
import { OrderDto } from '../dtos/order/order.dto';
import { Client } from './client.entity'
import { Collaborator } from './collaborator.entity';
import { SalesChannels } from './sales_channel.entity';

@Entity({ name: 'orders' })
export class Order extends AbstractEntity {

    @CreateDateColumn({type: 'timestamp', name: 'deleted_at' })
    deleted_at: Date ;

    @ManyToOne(() => Client, (client) => client)
    @JoinColumn({ name: 'client'})
    client: Client;

    @ManyToOne(() => Collaborator, (collaborator) => collaborator)
    @JoinColumn({ name: 'collaborator'})
    collaborator: Collaborator;

    @ManyToOne(() => SalesChannels, (sales_channel) => sales_channel)
    @JoinColumn({ name: 'sales_channel'})
    sales_channel: SalesChannels;

    @Column({ nullable: false})
    payment_method: string;

    @Column({ nullable: true})
    promotion: string;

    @Column({ nullable:false})
    tva_code: number;

    @Column({ nullable:true})
    status:string;
import { plainToClass } from 'class-transformer';
import { Entity, Column, OneToMany } from 'typeorm';
import { AbstractEntity } from '../../../common/abstract.entity';
import { ClientDto } from '../dtos/client/client.dto';
import { Order } from './order.entity';

@Entity({ name: 'clients' })
export class Client extends AbstractEntity {

    @Column({ nullable: false })
    firstName: string;

    @Column({ nullable: true })
    lastName: string;

    @Column({ unique: true, nullable: true })
    phone: number;

    @OneToMany(() => Order, order => order.client)
    orders: Order[];

    toDto() {
        return plainToClass(ClientDto, this);
    }



}

客户实体

import { plainToClass } from 'class-transformer';
import { Entity, Column, CreateDateColumn, ManyToOne, JoinColumn } from 'typeorm';
import { AbstractEntity } from '../../../common/abstract.entity';
import { OrderDto } from '../dtos/order/order.dto';
import { Client } from './client.entity'
import { Collaborator } from './collaborator.entity';
import { SalesChannels } from './sales_channel.entity';

@Entity({ name: 'orders' })
export class Order extends AbstractEntity {

    @CreateDateColumn({type: 'timestamp', name: 'deleted_at' })
    deleted_at: Date ;

    @ManyToOne(() => Client, (client) => client)
    @JoinColumn({ name: 'client'})
    client: Client;

    @ManyToOne(() => Collaborator, (collaborator) => collaborator)
    @JoinColumn({ name: 'collaborator'})
    collaborator: Collaborator;

    @ManyToOne(() => SalesChannels, (sales_channel) => sales_channel)
    @JoinColumn({ name: 'sales_channel'})
    sales_channel: SalesChannels;

    @Column({ nullable: false})
    payment_method: string;

    @Column({ nullable: true})
    promotion: string;

    @Column({ nullable:false})
    tva_code: number;

    @Column({ nullable:true})
    status:string;
import { plainToClass } from 'class-transformer';
import { Entity, Column, OneToMany } from 'typeorm';
import { AbstractEntity } from '../../../common/abstract.entity';
import { ClientDto } from '../dtos/client/client.dto';
import { Order } from './order.entity';

@Entity({ name: 'clients' })
export class Client extends AbstractEntity {

    @Column({ nullable: false })
    firstName: string;

    @Column({ nullable: true })
    lastName: string;

    @Column({ unique: true, nullable: true })
    phone: number;

    @OneToMany(() => Order, order => order.client)
    orders: Order[];

    toDto() {
        return plainToClass(ClientDto, this);
    }



}

这是我的DTO 订购至

import { ApiModelProperty } from '@nestjs/swagger';
import { Exclude, Expose, Type } from 'class-transformer';
import { IsEmail, IsNotEmpty, IsNumber, IsString } from 'class-validator';

import { AbstractDto } from '../../../../common/dto/abstract.dto';
import { ClientDto } from '../client/client.dto';
import { ClientRegisterDto } from '../client/client-register.dto';
import { CollaboratorDto } from '../collaborator/collaborator.dto';
import { CollaboratorRegisterDto } from '../collaborator/collaborator-register.dto';
import { SalechChannelDto } from '../sales_channel/salech_channel.dto';
import { SalesChannelRegisterDto } from '../sales_channel/sales_channel-register.dto';

@Exclude()
export class OrderDto extends AbstractDto {

    @Expose()
    @IsString()
    @ApiModelProperty()
    readonly id!: string;

    @Expose()
    @IsString()
    @Type(() => ClientDto)
    @ApiModelProperty({ description: 'client id' })
    client: ClientRegisterDto;

    @Expose()
    @IsString()
    @Type(() => CollaboratorDto)
    @ApiModelProperty({ description: 'collaborator id' })
    readonly collaborator!: CollaboratorRegisterDto;

    @Expose()
    @IsString()
    @Type(() => SalechChannelDto)
    @ApiModelProperty({ description: 'sales channel id' })
    readonly sales_channel!: SalesChannelRegisterDto;

    @Expose()
    @IsString()
    @ApiModelProperty()
    readonly payment_method!: string;

    @Expose()
    @IsString()
    @ApiModelProperty()
    readonly promotion: string;

    @Expose()
    @IsNumber()
    @IsNotEmpty()
    @ApiModelProperty()
    readonly tva_code: number;

    @Expose()
    @IsString()
    @ApiModelProperty()
    readonly status: string;

}


这是clientRegisterDTO

import { ApiModelProperty } from '@nestjs/swagger';
import { Exclude, Expose } from 'class-transformer';
import { IsNotEmpty, IsString, IsNumber } from 'class-validator';
import { AbstractDto } from '../../../../common/dto/abstract.dto';


@Exclude()
export class ClientRegisterDto extends AbstractDto {

    @Expose()
    @IsString()
    @ApiModelProperty()
    readonly id!: string;



}


这是我的客户

import { ApiModelProperty } from '@nestjs/swagger';
import { Exclude, Expose } from 'class-transformer';
import { IsNotEmpty, IsString, IsNumber } from 'class-validator';
import { AbstractDto } from '../../../../common/dto/abstract.dto';


@Exclude()
export class ClientDto extends AbstractDto {

    @Expose()
    @IsString()
    @ApiModelProperty()
    readonly id!: string;

    @Expose()
    @IsString()
    @ApiModelProperty()
    readonly firstName!: string;

    @Expose()
    @IsString()
    @ApiModelProperty()
    readonly lastName!: string;

    @Expose()
    @IsNumber()
    @IsNotEmpty()
    @ApiModelProperty()
    readonly phone: string;

}

我只想将客户机id保存在客户机表中,当我尝试将其保存到数据库时,我会收到一个错误,如下所示,同样的情况也适用于其他连接的表。问题是什么

 "message": [
      {
        "value": {
          "id": "string"
        },
        "property": "client",
        "children": [],
        "constraints": {
          "isString": "client must be a string"
        }
      },
      {
        "value": {
          "id": "string"
        },
        "property": "collaborator",
        "children": [],
        "constraints": {
          "isString": "collaborator must be a string"
        }
      },
      {
        "value": {
          "id": "string"
        },
        "property": "sales_channel",
        "children": [],
        "constraints": {
          "isString": "sales_channel must be a string"
        }
      }
    ]

此错误似乎来自
ValidationPipe
-在
OrderDto
中,客户端字段已
@IsString()
找到它,谢谢。