1

假设,我有一个User模型,这个模型包含products孩子(一对多关系)。

在某些情况下,在我的 iOS 应用程序中,我只需要显示所有用户的列表,因此我不需要查询有关产品的数据库。

如何以最简单的方式在 Fluent 中获取没有子级的用户?我是否需要创建一个不包含产品的单独模型?

func getAllUsersHandler(_ request: Request) -> EventLoopFuture<[User]> {
    User.query(on: request.db).all()
}
4

1 回答 1

2

默认情况是对User模型的查询不会Children在结果中包含任何字段。要包括它们,您需要.with(\.$products)在查询中。

您可以通过修改查询来限制返回的字段,如示例所示:

User.query(on: request.db).field(\.$name).field(\.$email).all()

这只会将这些字段带入模型,并使不需要的字段处于未初始化状态。请参阅此处了解更多信息。

于 2021-09-14T19:00:05.990 回答