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替换它,为我修复了它