我希望在用户与关键字表中具有一对多关系,在关键字表中具有多对一关系。
\n\n我不\xc2\xb4t 使用 TypeScript,因为我使用了 Typeorm 的 EntitySchema。
\n\n这是我的实体:
\n\nimport { EntitySchema } from \'typeorm\';\n\nexport default new EntitySchema({\n name: \'User\',\n columns: {\n id: {\n primary: true,\n type: Number,\n generated: true,\n },\n firstname: {\n type: \'varchar\',\n },\n lastname: {\n type: \'varchar\',\n },\n email: {\n type: \'varchar\',\n default: null,\n },\n auth: {\n type: \'varchar\',\n nullable: true,\n },\n },\n relations: {\n keywords: {\n target: \'Keyword\',\n type: \'one-to-many\',\n },\n },\n});\n
Run Code Online (Sandbox Code Playgroud)\n\nimport { EntitySchema } from \'typeorm\';\n\nexport default new EntitySchema({\n name: \'Keyword\',\n columns: {\n id: {\n primary: true,\n type: Number,\n generated: true,\n },\n name: {\n type: \'varchar\',\n },\n created_at: {\n type: Date,\n },\n },\n relations: {\n user: {\n target: \'User\',\n type: \'many-to-one\',\n },\n },\n});\n\n
Run Code Online (Sandbox Code Playgroud)\n\nGraphQL 的错误“无法读取未定义的属性 \'joinColumns\'”
\n您的 EntitySchema 中缺少两件事:您需要指定 JoinColumn 和 OneToMany 关系的反面。所以这应该有效:
export default new EntitySchema({
name: 'User',
...
relations: {
keywords: {
target: 'Keyword',
type: 'one-to-many',
inverseSide: 'user',
},
},
});
export default new EntitySchema({
name: 'Keyword',
...
relations: {
user: {
target: 'User',
type: 'many-to-one',
joinColumn: true,
},
},
});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5529 次 |
最近记录: |