Skip to content

Home > @opennd/lib > PrismaQueryBuilder

PrismaQueryBuilder class

Signature:

typescript
export declare class PrismaQueryBuilder<T, TableFields = any>

Constructors

Constructor

Modifiers

Description

(constructor)(source, query)

Constructs a new instance of the PrismaQueryBuilder class

Properties

Property

Modifiers

Type

Description

ADD

(fn: (t: this) => void) => this

生成组合条件AND

assign

<RelationTableFields extends Record<string, any> = Record<string, any>>(key: keyof T | (keyof T)[] | Partial<Record<keyof T, keyof TableFields>>, params?: { join?: string; get?: string; filter?: Filter; idKey?: keyof RelationTableFields; operate?: Operate; }) => this

赋值,直接赋值,如果key对应的值为对象可配置get进行取值

contains

(key: keyof T | (keyof T)[] | Partial<Record<keyof T, keyof TableFields>>, params?: { join?: string; get?: string; filter?: Filter; }) => this

like查询 数组类型的值会join,默认使用”,’拼接,可在自定义

equals

(key: keyof T | (keyof T)[] | Partial<Record<keyof T, keyof TableFields>>, params?: { join?: string; get?: string; filter?: Filter; }) => this

全等

in

(key: keyof T | (keyof T)[] | Partial<Record<keyof T, keyof TableFields>>, params?: { get?: string; filter?: Filter; idKey?: string; }) => this

in 查询

NOT

(fn: (t: this) => void) => this

生成组合条件NOT

notIn

(key: keyof T | (keyof T)[] | Partial<Record<keyof T, keyof TableFields>>, params?: { get?: string; join?: string; idKey?: string; filter?: Filter; }) => this

notIn 查询

OR

(fn: (t: this) => void) => this

生成组合条件OR

query

() => any

获取查询条件

relationAnd

<RelationTableFields extends Record<string, any> = Record<string, any>>(key: keyof T | (keyof T)[] | Partial<Record<keyof T, keyof TableFields>>, params?: { get?: string; idKey?: keyof RelationTableFields; filter?: Filter; }) => this

关联查询 every,满足所有条件

relationManyEvery

<SourceType = any, RelationTableFields extends Record<string, any> = Record<string, any>>(params: { key: keyof T | Partial<Record<keyof T, keyof TableFields>>; idKey?: keyof RelationTableFields; }, cb?: (builder: InstanceType<typeof PrismaQueryBuilder<SourceType, RelationTableFields>>) => any) => this

创建多个关联,支持条件

relationManyNone

<SourceType = any, RelationTableFields extends Record<string, any> = Record<string, any>>(params: { key: keyof T | Partial<Record<keyof T, keyof TableFields>>; idKey?: keyof RelationTableFields; }, cb?: (builder: InstanceType<typeof PrismaQueryBuilder<SourceType, RelationTableFields>>) => any) => this

创建多个关联,支持条件

relationManySome

<SourceType = any, RelationTableFields extends Record<string, any> = Record<string, any>>(params: { key: keyof T | Partial<Record<keyof T, keyof TableFields>>; idKey?: keyof RelationTableFields; }, cb?: (builder: InstanceType<typeof PrismaQueryBuilder<SourceType, RelationTableFields>>) => any) => this

创建多个关联,支持条件

relationNot

<RelationTableFields extends Record<string, any> = Record<string, any>>(key: keyof T | (keyof T)[] | Partial<Record<keyof T, keyof TableFields>>, params?: { get?: string; idKey?: keyof RelationTableFields; filter?: Filter; }) => this

关联查询 none,排除所有

relationOr

<RelationTableFields extends Record<string, any> = Record<string, any>>(key: keyof T | (keyof T)[] | Partial<Record<keyof T, keyof TableFields>>, params?: { get?: string; idKey?: keyof RelationTableFields; filter?: Filter; }) => this

关联查询 some,满足其中一个条件即可

relationQuery

<SourceType = any, RelationTableFields extends Record<string, any> = Record<string, any>>(params: { key: keyof T | Partial<Record<keyof T, keyof TableFields>>; idKey?: keyof RelationTableFields; }, cb?: (builder: InstanceType<typeof PrismaQueryBuilder<SourceType, RelationTableFields>>) => any) => this

创建条件关联

set

<RelationTableFields extends Record<string, any> = Record<string, any>>(params: { key: keyof T | (keyof T)[] | Partial<Record<keyof T, keyof TableFields>>; get?: string; filter?: Filter; join?: string; idKey?: keyof RelationTableFields; type: Operate; cb: (query: any, k: string, val: any) => void; builder?: (t: any) => any; }) => this

timeGte

(key: keyof T | (keyof T)[] | Partial<Record<keyof T, keyof TableFields>>, params?: { get?: string; }) => this

时间 大于

timeLte

(key: keyof T | (keyof T)[] | Partial<Record<keyof T, keyof TableFields>>, params?: { get?: string; }) => this

时间小于

timeRange

({ startTimeField, endTimeField, to }: { startTimeField: keyof T; endTimeField: keyof T; to: keyof Omit<TableFields, "NOT" | "OR" | "AND">; }) => this

时间区间查询