查询特征
自 0.6.4 版本起可用
随着应用程序的增长,您可能会发现自己编写了重复的查询或条件。减少这种重复的一种常见方法是将查询放入函数中以便在其他地方使用。但这有点限制性,因为它需要为每种查询类型创建一个新的函数,并且扩展性不强。
为了解决这个问题,PCR 的查询构建器实现了一组特征,这些特征允许以类型安全的方式进行修改,但同时又与您创建的特定查询脱钩。
基础特征
Query
这可能不太有用,它是每个查询构建器实现的核心特征。
ModelQuery
这由所有在特定模型上操作的查询构建器实现,即除了原始查询之外的所有查询。
它用于保存与每个模型相对应的类型和数据,并为每个模型模块的 Types
结构实现。
特定特征
每个特征都公开了用于添加其他参数的函数。
WhereQuery
add_where
: 添加一个WhereParam
为 Count
、FindMany
、FindFirst
、UpdateMany
和 DeleteMany
实现。
WithQuery
add_with
: 添加一个WithParam
为 FindUnique
、FindMany
、FindFirst
、Create
、Update
、Upsert
和 Delete
实现。
OrderByQuery
add_with
: 添加一个OrderByParam
为 FindMany
、FindFirst
和 Count
实现。
PaginatedQuery
add_cursor
: 添加一个UniqueWhereParam
作为游标set_skip
: 设置要跳过的记录数set_take
: 设置要获取的记录数
已实现 Count
、FindFirst
和 FindMany
。
SetQuery
add_set
:添加一个SetParam
已实现 Create
、Update
和 Upsert
。