我是Typeorm的新手,但我觉得我有一个非常简单的示例,它导致了一些意外的结果。可以说我有一个客户。每个客户端可以有许多ClientUsers。每个ClientUser只能有一个客户端。
示例:
客户端架构:
module.exports = new EntitySchema({
name: "Client",
target: Client,
columns: {
id: {
primary: true,
type: "uuid",
generated: "uuid"
},
name: {
type: "varchar"
},
telephone: {
type: "varchar"
},
email: {
type: "varchar"
}
},
relations: {
client_users: {
target: "ClientUser",
type: "one-to-many",
cascade: true
}
}
});
ClientUser架构:
module.exports = new EntitySchema({
name: "ClientUser",
target: ClientUser,
columns: {
id: {
primary: true,
type: "uuid",
generated: "uuid"
},
first_name: {
type: "varchar"
},
last_name: {
type: "varchar"
},
title: {
type: "varchar"
},
email: {
type: "varchar"
},
username: {
type: "varchar"
},
password: {
type: "varchar"
}
},
relations: {
client: {
target: "Client",
type: "many-to-one",
joinColumn: true,
cascade: true
}
}
});
这将导致ClientUser表具有名为clientid
的列,该列始终为空。如果我将ClientUser架构关系更改为以下内容(将客户端更新为client_id):
relations: {
client_id: {
target: "Client",
type: "many-to-one",
joinColumn: true,
cascade: true
}
}
我得到了名为clientIdId
的列,但该列已正确填充了相关的客户端ID。
很明显,我在这里做的事情确实很错,但是我已经看了很久了,它逃脱了我。请帮助我了解如何获得一个逻辑列名,该列名将按预期填充。