跳至内容

模型委托

模型委托是用于访问表/视图的操作委托,它们由 Prisma Client 自动生成。

通常,它们使用以小写字母开头的驼峰命名法在 PrismaClient 上,例如 client.user

prisma.dart 文件中,生成的委托使用 <Model>Delegate 名称的驼峰命名法,例如 UserDelegate

findUnique()

findUnique() 方法用于根据唯一标识符查找单个记录。

dart
final user = await client.user.findUnique(
    where: UserWhereUniqueInput(id: 'ck2l9xqjy0000yjzv6q9q4k5i'),
);

参数

参数示例类型 (User)必需描述
whereUserWhereUniqueInput包装所有唯一标识符
selectUserSelect选择要获取的字段
includeUserInclude包含关系字段

findUniqueOrThrow()

findUniqueOrThrow()findUnique() 相同,但在未找到记录时抛出异常错误。

findFirst()

findFirst() 方法用于根据给定条件查找第一个记录。

dart
final user = await client.user.findFirst(
    where: UserWhereInput(...),
);

参数

参数示例类型 (User)必需描述
whereUserWhereInput指定返回对象中要包含哪些属性。
selectUserSelect选择要获取的字段
includeUserInclude包含关系字段
takeint获取前 n 条记录
skipint跳过前 n 条记录
orderByUserOrderByWithRelationInputUserOrderByWithRelationInput 的 Iterable按一个或多个属性对记录排序
cursorUserWhereUniqueInput基于游标的分页
`distinctUserScalarUserScalar 的 Iterable选择不同的记录

findFirstOrThrow()

findFirstOrThrow()findFirst() 相同,但在未找到记录时抛出异常错误。

findMany()

findMany() 方法用于根据给定条件查找多条记录。

dart
final users = await client.user.findMany(
    where: UserWhereInput(...),
);

参数

参数示例类型 (User)必需描述
whereUserWhereInput指定返回对象中要包含哪些属性。
selectUserSelect选择要获取的字段
includeUserInclude包含关系字段
takeint获取前 n 条记录
skipint跳过前 n 条记录
orderByUserOrderByWithRelationInputUserOrderByWithRelationInput 的 Iterable按一个或多个属性对记录排序
cursorUserWhereUniqueInput基于游标的分页
`distinctUserScalarUserScalar 的 Iterable选择不同的记录

create()

create() 方法用于创建新记录。

dart
final user = await client.user.create(
    ...
);

参数

参数示例类型 (User)必需描述
dataUserCreateInputUserUncheckedCreateInputPrismaUnion要创建的数据
selectUserSelect选择要获取的字段
includeUserInclude包含关系字段

update()

update() 方法用于更新现有记录。

dart
final user = await client.user.update(
    where: UserWhereUniqueInput(id: 'ck2l9xqjy0000yjzv6q9q4k5i'),
    data: UserUpdateInput(...),
);

参数

参数示例类型 (User)必需描述
dataUserCreateInputUserUncheckedCreateInputPrismaUnion要创建的数据
selectUserSelect选择要获取的字段
includeUserInclude包含关系字段
whereUserWhereUniqueInputWhere 条件

upsert()

upsert() 方法用于更新现有记录或创建新记录。

参数

参数示例类型 (User)必需描述
whereUserWhereUniqueInputWhere 条件
createUserCreateInputUserUncheckedCreateInputPrismaUnion要创建的数据
updateUserUpdateInputUserUncheckedUpdateInputPrismaUnion要更新的数据
selectUserSelect选择字段
includeUserInclude包含字段

delete()

delete() 方法用于删除现有记录。

dart
final user = await client.user.delete(
    where: UserWhereUniqueInput(id: 'ck2l9xqjy0000yjzv6q9q4k5i'),
);

参数

参数示例类型 (User)必需
whereUserWhereUniqueInput
selectUserSelect
includeUserInclude

createMany()

createMany() 方法用于创建多条记录。

参数

参数示例类型 (User)必需
dataUserCreateManyInputUserCreateManyInput 的 Iterable 的 PrismaUnion
skipDuplicatesbool

updateMany()

updateMany() 方法用于更新多条记录。

参数

参数示例类型 (User)必需
dataUserUpdateManyMutationInputUserUncheckedUpdateManyInputPrismaUnion
whereUserWhereInput

deleteMany()

deleteMany() 方法用于删除多条记录。

参数

参数示例类型 (User)必需
whereUserWhereInput

aggregate()

aggregate() 方法用于聚合多条记录。有关更多信息,请参阅 查询 → 聚合

参数

参数示例类型 (User)必需
`whereUserWhereInput
orderByUserOrderByWithRelationInputUserOrderByWithRelationInput 的 Iterable 的 PrismaUnion
cursorUserWhereUniqueInput
takeint
skipint
selectAggregateUserSelect

groupBy()

groupBy() 方法用于根据给定条件对多条记录进行分组。有关更多信息,请参阅 查询 → 分组依据

参数

参数示例类型 (User)必需
whereUserWhereInput
orderByUserOrderByWithAggregationInputUserOrderByWithAggregationInput 的 Iterable 的 PrismaUnion
byUserScalarUserScalar 的 Iterable 的 PrismaUnion
havingUserScalarWhereWithAggregatesInput
takeint
skipint
selectUserGroupByOutputTypeSelect

在 BSD-3-Clause 许可证下发布