所以我正在使用最新版本的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()
函数,但它们最终仍然为空