指南 参考 源代码
public class | source

HasMany

Extends

Association → HasMany

一对多关联

在以下 API 参考中,请将关联的名称添加到方法中,例如对于 User.hasMany(Project),getter 将是 user.getProjects()。如果关联是别名,请使用别名,例如 User.hasMany(Project, { as: 'jobs' }) 将是 user.getJobs()

查看

方法概要

公共方法
public

async add(sourceInstance: Model, targetInstances: Model | Model[] | string[] | string | number[] | number, options: object): Promise

将一个或多个目标行与this关联。

public

async count(instance: Model, options: object): Promise<number>

使用可选的 where 子句,计算当前与本实例关联的所有内容。

public

async create(sourceInstance: Model, values: object, options: object): Promise

创建一个关联模型的新实例,并将其与本实例关联。

public

async get(instances: Model | Array<Model>, options: object): Promise<Array<Model>>

使用可选的 where 子句,获取当前与本实例关联的所有内容。

public

async has(sourceInstance: Model, targetInstances: Model | Model[] | string[] | string | number[] | number, options: object): Promise

检查一个或多个行是否与this关联。

public

async remove(sourceInstance: Model, targetInstances: Model | Model[] | string | string[] | number | number[], options: object): Promise

取消关联一个或多个目标行。

public

async set(sourceInstance: Model, targetInstances: Model | Model[] | string[] | string | number[] | number, options: object): Promise

通过传递一个持久化实例或其主键的数组来设置关联的模型。

继承摘要

从类 Association
public

关联的类型。

public
public

公共方法

public async add(sourceInstance: Model, targetInstances: Model | Model[] | string[] | string | number[] | number, options: object): Promise source

将一个或多个目标行与this关联。此方法接受 Model/字符串/数字以关联单个行,或者接受 Model/字符串/数字的混合数组以关联多个行。

参数

名称类型属性描述
sourceInstance Model

源实例

targetInstances Model | Model[] | string[] | string | number[] | number
  • 可选

单个实例或主键,或持久化实例或主键的混合数组

options object
  • 可选

传递给target.update的选项。

返回

Promise

public async count(instance: Model, options: object): Promise<number> source

使用可选的 where 子句,计算当前与本实例关联的所有内容。

参数

名称类型属性描述
instance Model

源实例

options object
  • 可选

查找和计数选项

options.where object
  • 可选

一个可选的 where 子句,用于限制关联的模型

options.scope string | boolean
  • 可选

在相关模型上应用范围,或通过传递 false 来移除其默认范围

返回

Promise<number>

public async create(sourceInstance: Model, values: object, options: object): Promise source

创建一个关联模型的新实例,并将其与本实例关联。

参数

名称类型属性描述
sourceInstance Model

源实例

values object
  • 可选

目标模型实例的值

options object
  • 可选

传递给target.create的选项

返回

Promise

public async get(instances: Model | Array<Model>, options: object): Promise<Array<Model>> source

使用可选的 where 子句,获取当前与本实例关联的所有内容。

参数

名称类型属性描述
instances Model | Array<Model>

源实例

options object
  • 可选

查找选项

options.where object
  • 可选

一个可选的 where 子句,用于限制关联的模型

options.scope string | boolean
  • 可选

在相关模型上应用范围,或通过传递 false 来移除其默认范围

options.schema string
  • 可选

在相关模型上应用模式

返回

Promise<Array<Model>>

查看

public async has(sourceInstance: Model, targetInstances: Model | Model[] | string[] | string | number[] | number, options: object): Promise source

检查一个或多个行是否与this关联。

参数

名称类型属性描述
sourceInstance Model

源实例

targetInstances Model | Model[] | string[] | string | number[] | number
  • 可选

可以是实例数组或其主键数组

options object
  • 可选

传递给 getAssociations 的选项

返回

Promise

public async remove(sourceInstance: Model, targetInstances: Model | Model[] | string | string[] | number | number[], options: object): Promise source

取消关联一个或多个目标行。

参数

名称类型属性描述
sourceInstance Model

解除关联实例的实例

targetInstances Model | Model[] | string | string[] | number | number[]
  • 可选

可以是实例或其主键,或实例和主键的混合数组

options object
  • 可选

传递给 target.update 的选项

返回

Promise

public async set(sourceInstance: Model, targetInstances: Model | Model[] | string[] | string | number[] | number, options: object): Promise source

通过传递持久化实例的数组或其主键来设置关联的模型。不在传递的数组中的所有内容将被解除关联。

参数

名称类型属性描述
sourceInstance Model

关联新实例的源实例

targetInstances Model | Model[] | string[] | string | number[] | number
  • 可选

要与之关联的持久化实例或实例主键的数组。传递 nullundefined 来删除所有关联。

options object
  • 可选

传递给 target.findAllupdate 的选项。

options.validate object
  • 可选

运行连接模型的验证

返回

Promise