在typeorm中未设置多对多插入参数

时间:2019-04-16 14:06:59

标签: postgresql typeorm

所以我正在使用最新版本的typeorm(0.2.16)和一个postgres数据库

@Entity
class ContentItem
  @PrimaryGeneratedColumn('uuid')
  id: string;

 @ManyToMany(type => Image, image => image.contentItems)
  images: Image[]

 ...

@Entity()
export class Image {
  @PrimaryGeneratedColumn('uuid')
  id: string;

  @ManyToMany(type => ContentItem, contentItem => contentItem.images)
  @JoinTable()
  contentItems: ContentItem[]

...

await getConnection()
        .createQueryBuilder()
        .relation(Image, "contentItems")
        .of(imageId)
        .add(contentItemId)

并继续获取错误(删除了代码和其他不重要的内容)

column: "image_id"
detail: "Failing row contains (null, null)."
message: "null value in column "image_id" violates not-null constraint"
name: "QueryFailedError"
parameters: []
query: "INSERT INTO "image_content_item"("image_id", "content_item_id") VALUES (DEFAULT, DEFAULT)"
stacktrace: ["QueryFailedError: null value in column "image_id" violates not-null constraint",…]
table: "image_content_item"

因此,您可以看到问题的症结在于,无论出于何种原因,都不会将参数传递给查询,而只是使用默认值,所以我会收到一条错误消息,因为这些显然只是空值。

我打错电话了吗?有什么方法可以手动拨打电话吗?我也尝试过使用.setParameters()函数,但它们最终仍然为空

0 个答案:

没有答案