我正在尝试 mikro-orm,所以我制作了一个简单的 CRUD 解析器,但我从 graphql 调试控制台看到,在删除后像:
mutation{
deleteItem(id:9)
}
有以下代码
@Mutation(() => Boolean)
async deleteItem(@Arg('id') id: number, @Ctx() { em }: MyContext): Promise<boolean> {
try {
await em.nativeDelete(Item, { id });
return true;
} catch (error) {
console.log(error);
return false;
}
}
预期的响应是好的。
但是,如果我尝试编辑已删除的项目,则返回已编辑的项目...即使禁用了 mikro-orm 缓存cache: { enabled: false },
错误在哪里?我需要强制冲洗吗?
这是 editItem 解析器:
@Mutation(() => Item, { nullable: true })
async editItem(
@Arg('id') id: number,
@Arg('data', () => String, { nullable: true }) data: string,
@Ctx() { em }: MyContext
): Promise<Item | null> {
const item = await em.findOne(Item, { id });
if (!item) {
return null;
}
console.log(item);
if (typeof data !== 'undefined') {
post.data = data;
await em.persistAndFlush(item);
}
return item;
}
谢谢