Bal*_*áni 0 apollo reactjs graphql typeorm
所以我想弄清楚为什么我的 Query 最终是:
{
"errors": [
{
"message": "Cannot return null for non-nullable field Message.sender.",
}
...
}
Run Code Online (Sandbox Code Playgroud)
这是我的实体
@Entity()
export class Message extends BaseEntity {
@PrimaryGeneratedColumn("uuid")
id: string;
@Column("text")
content: string;
@CreateDateColumn()
created_at: string;
// @ts-ignore
@ManyToOne(type => User, user => user.messages)
sender: User;
}
Run Code Online (Sandbox Code Playgroud)
还有我的解析器:
allMessagesOfProject: async (_, { projectId }, __) => {
const project = await Project.findOne({
relations: ["messages"],
where: { id: projectId }
});
if (project) {
const messages = project.messages;
return messages.reverse();
}
return null;
},
Run Code Online (Sandbox Code Playgroud)
我错过了什么 ?
好的,我刚刚发现 TypeORM 通过不允许访问孩子(如果不精确)来增加一层安全性,因此您必须使用该eager
选项。
@ManyToOne(type => User, user => user.messages, {eager: true})
sender: User;
Run Code Online (Sandbox Code Playgroud)
希望这对以后的人有所帮助。
归档时间: |
|
查看次数: |
382 次 |
最近记录: |