Skip to content

Class: abstract Relation<Parent, Related, RelatedClass>

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

Extended by

Type Parameters

Parent

Parent extends Model = Model

Related extends Model = Model

RelatedClass

RelatedClass extends ModelConstructor<Related> = ModelConstructor<Related>

Constructors

Constructor

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

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

Parameters

parent

Parent

relatedClass

RelatedClass

foreignKeyName

string

localKeyName?

string

Returns

Relation<Parent, Related, RelatedClass>

Properties

protected optional _related: null | Related | Related[]

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


deleteStrategy

deleteStrategy: RelationDeleteStrategy = null

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


enabled

enabled: boolean = true

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


foreignKeyName

foreignKeyName: string

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


localKeyName

localKeyName: string

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


name

name: string

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


parent

parent: Parent

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


relatedClass

relatedClass: RelatedClass

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


inverseBelongsToRelationClasses

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

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


inverseHasRelationClasses

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

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

Accessors

loaded

Get Signature

get loaded(): boolean

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

Returns

boolean


Get Signature

get related(): Nullable<Related | Related[]>

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

Returns

Nullable<Related | Related[]>

Set Signature

set related(related): void

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

Parameters

Nullable<Related | Related[]>

Returns

void

Methods

addRelated()

abstract addRelated(related): void

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

Parameters

Related

Returns

void


clearForeignAttributes()

abstract clearForeignAttributes(related): void

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

Parameters

Related

Returns

void


clearInverseRelations()

clearInverseRelations(model): void

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

Parameters

model

Related

Returns

void


clone()

clone(options): this

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

Parameters

options

Partial = {}

Returns

this


disable()

disable(): void

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

Returns

void


enable()

enable(): void

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

Returns

void


getLoadedModels()

getLoadedModels(): Related[]

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

Returns

Related[]


getModels()

getModels(): Promise<Related[]>

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

Returns

Promise<Related[]>


initializeInverseRelations()

initializeInverseRelations(model): void

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

Parameters

model

Related

Returns

void


isEmpty()

isEmpty(): null | boolean

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

Returns

null | boolean


isInverseOf()

isInverseOf(other): boolean

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

Parameters

other

Relation

Returns

boolean


isRelated()

abstract isRelated(model): boolean

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

Parameters

model

Related

Returns

boolean


load()

abstract load(): Promise<null | Related | Related[]>

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

Returns

Promise<null | Related | Related[]>


onDelete()

onDelete(strategy): this

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

Parameters

strategy

RelationDeleteStrategy

Returns

this


onRelatedUpdated()

protected onRelatedUpdated(oldValue, newValue): void

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

Parameters

oldValue

Nullable<Model | Model[]>

newValue

Nullable<Model | Model[]>

Returns

void


removeRelated()

abstract removeRelated(related): void

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

Parameters

Related

Returns

void


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.


setForeignAttributes()

abstract setForeignAttributes(related): void

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

Parameters

Related

Returns

void


static()

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

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

Returns

RelationConstructor<Relation<Parent, Related, RelatedClass>>


unload()

unload(): void

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

Returns

void