Skip to content

Class: abstract MultiModelRelation<Parent, Related, RelatedClass>

Defined in: packages/soukai/src/models/relations/MultiModelRelation.ts:10

Extends

Extended by

Type Parameters

Parent

Parent extends Model = Model

Related extends Model = Model

RelatedClass

RelatedClass extends ModelConstructor<Related> = ModelConstructor<Related>

Constructors

Constructor

new MultiModelRelation<Parent, Related, RelatedClass>(parent, relatedClass, foreignKeyName?, localKeyName?): MultiModelRelation<Parent, Related, RelatedClass>

Defined in: packages/soukai/src/models/relations/MultiModelRelation.ts:16

Parameters

parent

Parent

relatedClass

RelatedClass

foreignKeyName?

string

localKeyName?

string

Returns

MultiModelRelation<Parent, Related, RelatedClass>

Overrides

Relation.constructor

Properties

protected optional _related: null | Related | Related[]

Defined in: packages/soukai/src/models/relations/Relation.ts:32

Inherited from

Relation._related


deleteStrategy

deleteStrategy: RelationDeleteStrategy = null

Defined in: packages/soukai/src/models/relations/Relation.ts:31

Inherited from

Relation.deleteStrategy


enabled

enabled: boolean = true

Defined in: packages/soukai/src/models/relations/Relation.ts:30

Inherited from

Relation.enabled


foreignKeyName

foreignKeyName: string

Defined in: packages/soukai/src/models/relations/Relation.ts:28

Inherited from

Relation.foreignKeyName


localKeyName

localKeyName: string

Defined in: packages/soukai/src/models/relations/Relation.ts:29

Inherited from

Relation.localKeyName


name

name: string

Defined in: packages/soukai/src/models/relations/Relation.ts:25

Inherited from

Relation.name


parent

parent: Parent

Defined in: packages/soukai/src/models/relations/Relation.ts:26

Inherited from

Relation.parent


relatedClass

relatedClass: RelatedClass

Defined in: packages/soukai/src/models/relations/Relation.ts:27

Inherited from

Relation.relatedClass


inverseBelongsToRelationClasses

static inverseBelongsToRelationClasses: Constructor<Relation<Model, Model, ModelConstructor<Model>>>[] = []

Defined in: packages/soukai/src/models/relations/Relation.ts:23

Inherited from

Relation.inverseBelongsToRelationClasses


inverseHasRelationClasses

static inverseHasRelationClasses: Constructor<Relation<Model, Model, ModelConstructor<Model>>>[] = []

Defined in: packages/soukai/src/models/relations/Relation.ts:22

Inherited from

Relation.inverseHasRelationClasses

Accessors

loaded

Get Signature

get loaded(): boolean

Defined in: packages/soukai/src/models/relations/Relation.ts:41

Returns

boolean

Inherited from

Relation.loaded


Get Signature

get related(): undefined | Related[]

Defined in: packages/soukai/src/models/relations/MultiModelRelation.ts:25

Returns

undefined | Related[]

Set Signature

set related(related): void

Defined in: packages/soukai/src/models/relations/MultiModelRelation.ts:29

Parameters

undefined | Related[]

Returns

void

Overrides

Relation.related

Methods

addRelated()

addRelated(related): void

Defined in: packages/soukai/src/models/relations/MultiModelRelation.ts:63

Parameters

Related

Returns

void

Overrides

Relation.addRelated


assertLoaded()

protected assertLoaded(method): this is { related: Related[] }

Defined in: packages/soukai/src/models/relations/MultiModelRelation.ts:90

Parameters

method

string

Returns

this is { related: Related[] }


attach()

Call Signature

attach(model?): Related

Defined in: packages/soukai/src/models/relations/MultiModelRelation.ts:36

Parameters
model?

Related

Returns

Related

Call Signature

attach(attributes): Related

Defined in: packages/soukai/src/models/relations/MultiModelRelation.ts:37

Parameters
attributes

Attributes

Returns

Related


clearForeignAttributes()

abstract clearForeignAttributes(related): void

Defined in: packages/soukai/src/models/relations/Relation.ts:70

Parameters

Related

Returns

void

Inherited from

Relation.clearForeignAttributes


clearInverseRelations()

clearInverseRelations(model): void

Defined in: packages/soukai/src/models/relations/Relation.ts:147

Parameters

model

Related

Returns

void

Inherited from

Relation.clearInverseRelations


clone()

clone(options): this

Defined in: packages/soukai/src/models/relations/Relation.ts:108

Parameters

options

Partial = {}

Returns

this

Inherited from

Relation.clone


create()

create(attributes): Promise<Related>

Defined in: packages/soukai/src/models/relations/MultiModelRelation.ts:55

Parameters

attributes

Attributes = {}

Returns

Promise<Related>


disable()

disable(): void

Defined in: packages/soukai/src/models/relations/Relation.ts:64

Returns

void

Inherited from

Relation.disable


enable()

enable(): void

Defined in: packages/soukai/src/models/relations/Relation.ts:60

Returns

void

Inherited from

Relation.enable


getLoadedModels()

getLoadedModels(): Related[]

Defined in: packages/soukai/src/models/relations/Relation.ts:94

Returns

Related[]

Inherited from

Relation.getLoadedModels


getModels()

getModels(): Promise<Related[]>

Defined in: packages/soukai/src/models/relations/Relation.ts:86

Returns

Promise<Related[]>

Inherited from

Relation.getModels


initializeInverseRelations()

initializeInverseRelations(model): void

Defined in: packages/soukai/src/models/relations/Relation.ts:134

Parameters

model

Related

Returns

void

Inherited from

Relation.initializeInverseRelations


isEmpty()

isEmpty(): null | boolean

Defined in: packages/soukai/src/models/relations/Relation.ts:82

Returns

null | boolean

Inherited from

Relation.isEmpty


isInverseOf()

isInverseOf(other): boolean

Defined in: packages/soukai/src/models/relations/Relation.ts:160

Parameters

other

Relation

Returns

boolean

Inherited from

Relation.isInverseOf


isRelated()

isRelated(model): boolean

Defined in: packages/soukai/src/models/relations/MultiModelRelation.ts:81

Parameters

model

Related

Returns

boolean

Overrides

Relation.isRelated


load()

abstract load(): Promise<Related[]>

Defined in: packages/soukai/src/models/relations/MultiModelRelation.ts:79

Returns

Promise<Related[]>

Overrides

Relation.load


onDelete()

onDelete(strategy): this

Defined in: packages/soukai/src/models/relations/Relation.ts:102

Parameters

strategy

RelationDeleteStrategy

Returns

this

Inherited from

Relation.onDelete


onRelatedUpdated()

protected onRelatedUpdated(oldValue, newValue): void

Defined in: packages/soukai/src/models/relations/MultiModelRelation.ts:86

Parameters

oldValue

Nullable<Model[]>

newValue

Nullable<Model[]>

Returns

void

Overrides

Relation.onRelatedUpdated


removeRelated()

removeRelated(related): void

Defined in: packages/soukai/src/models/relations/MultiModelRelation.ts:71

Parameters

Related

Returns

void

Overrides

Relation.removeRelated


resolve()

resolve(): Promise<null | Related | Related[]>

Defined in: packages/soukai/src/models/relations/Relation.ts:78

Returns

Promise<null | Related | Related[]>

Deprecated

This method has been renamed to load.

Inherited from

Relation.resolve


setForeignAttributes()

abstract setForeignAttributes(related): void

Defined in: packages/soukai/src/models/relations/Relation.ts:69

Parameters

Related

Returns

void

Inherited from

Relation.setForeignAttributes


static()

static(): RelationConstructor<MultiModelRelation<Parent, Related, RelatedClass>>

Defined in: packages/soukai/src/models/relations/Relation.ts:56

Returns

RelationConstructor<MultiModelRelation<Parent, Related, RelatedClass>>

Inherited from

Relation.static


unload()

unload(): void

Defined in: packages/soukai/src/models/relations/Relation.ts:98

Returns

void

Inherited from

Relation.unload