如何在Fluent(Vapor)中查询OptionalParent关系的值为nil的记录?
以下是Fluent关于一个 OptionalParent 关系的示例:示例:
final class Planet: Model {
// Example of an optional parent relation.
@OptionalParent(key: "star_id")
var star: Star?
}
我怎么查询没有 star 父级的行星?我尝试了这个,但不起作用:
let wanderers = try await Planet.query(on: myDb)
.filter(\.$star.id == nil) //error: Cannot infer key path type from context; consider explicitly specifying a root type
我也尝试过 .filter(\.$star == nil),并收到一个更详细的错误信息,提示无法对这些操作数应用 ==。
解决方案
Fluent 4的正确语法是:
let wanderers = try await Planet.query(on: myDb)
.filter(\.$star.$id == nil)
同样,$ 也必须放在键路径的 id 部分。
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。