Graphql 如何修复';无法读取属性';连接列';未定义的';一对一关系的EntitySchema中出错
我有两套产品和库存Graphql 如何修复';无法读取属性';连接列';未定义的';一对一关系的EntitySchema中出错,graphql,typeorm,Graphql,Typeorm,我有两套产品和库存 module.exports = new EntitySchema({ name: 'ProductVariant', target: ProductVariant, columns: { id: { primary: true, type: 'varchar', }, image: { type: 'json',
module.exports = new EntitySchema({
name: 'ProductVariant',
target: ProductVariant,
columns: {
id: {
primary: true,
type: 'varchar',
},
image: {
type: 'json',
nullable: true,
},
productId: {
type: 'varchar',
},
},
relations: {
product: {
target: 'Product',
type: 'many-to-one',
joinColumn: {
name: 'productId',
},
},
inventory: {
target: 'Inventory',
type: 'one-to-one',
inverseSide: 'variantId',
cascade: true,
},
},
});
和库存
const EntitySchema = require('typeorm').EntitySchema;
const Inventory = require('../models/inventory').Inventory;
module.exports = new EntitySchema({
name: 'Inventory',
target: Inventory,
columns: {
id: {
type: 'varchar',
primary: true,
unique: true,
},
sku: {
type: 'varchar',
nullable: true,
},
variantId: {
type: 'varchar',
}
},
relations: {
variant: {
target: 'ProductVariant',
type: 'one-to-one',
cascade: true,
joinColumn: {
name: 'variantId',
},
},
},
});
现在如果我运行这个查询
const products = await ProductRepo.find({ relations: ['collections', 'variants', 'variants.inventory'] });
我收到一个错误,说无法读取未定义的属性“joinColumns”
在我的数据库中,这些关系构建得非常完美。唯一可能出错的是,没有从变量到库存的路径,但有一条从库存到变量的路径。所以这不是双向的。只是从一侧一对一,但是ORM应该足够聪明,能够正确地选择它?
这是这里唯一的东西
有人能告诉我怎么解决这个问题吗 所以这里的错误很简单。反过来说,你没有提到列名,你提到的是关系。在我的例子中,如果你看到我提到了variantId,用variant替换它,为我修复了它