Skip to content

Class: SolidHasManyRelation<Parent, Related, RelatedClass>

Defined in: packages/soukai-solid/src/models/relations/SolidHasManyRelation.ts:18

Extends

Extended by

Type Parameters

Parent

Parent extends SolidModel = SolidModel

Related extends SolidModel = SolidModel

RelatedClass

RelatedClass extends SolidModelConstructor<Related> = SolidModelConstructor<Related>

Implements

Constructors

Constructor

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

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

Parameters

parent

Parent

relatedClass

RelatedClass

foreignKeyName?

string

localKeyName?

string

Returns

SolidHasManyRelation<Parent, Related, RelatedClass>

Inherited from

SolidHasRelation.constructor

Properties

__modelsInOtherDocumentIds?

optional __modelsInOtherDocumentIds: string[]

Defined in: packages/soukai-solid/src/models/relations/mixins/SolidMultiModelDocumentRelation.ts:40

Inherited from

SolidMultiModelDocumentRelation.__modelsInOtherDocumentIds


__modelsInSameDocument?

optional __modelsInSameDocument: Related[]

Defined in: packages/soukai-solid/src/models/relations/mixins/SolidMultiModelDocumentRelation.ts:39

Inherited from

SolidMultiModelDocumentRelation.__modelsInSameDocument


__newModels

__newModels: Related[] = []

Defined in: packages/soukai-solid/src/models/relations/mixins/SolidMultiModelDocumentRelation.ts:37

Inherited from

SolidMultiModelDocumentRelation.__newModels


__removedDocumentModels

__removedDocumentModels: Related[] = []

Defined in: packages/soukai-solid/src/models/relations/mixins/SolidMultiModelDocumentRelation.ts:38

Inherited from

SolidMultiModelDocumentRelation.__removedDocumentModels


deleteStrategy

deleteStrategy: RelationDeleteStrategy = null

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

Implementation of

BeforeParentCreateRelation.deleteStrategy


documentModelsLoaded

protected documentModelsLoaded: boolean = false

Defined in: packages/soukai-solid/src/models/relations/mixins/SolidDocumentRelation.ts:23

Inherited from

SolidMultiModelDocumentRelation.documentModelsLoaded


enabled

enabled: boolean = true

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

Implementation of

BeforeParentCreateRelation.enabled


foreignKeyName

foreignKeyName: string

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

Implementation of

BeforeParentCreateRelation.foreignKeyName


localKeyName

localKeyName: string

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

Implementation of

BeforeParentCreateRelation.localKeyName


name

name: string

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

Implementation of

BeforeParentCreateRelation.name


parent

parent: Parent

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

Implementation of

BeforeParentCreateRelation.parent


optional related: Related[]

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

Implementation of

BeforeParentCreateRelation.related


relatedClass

relatedClass: RelatedClass

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

Implementation of

BeforeParentCreateRelation.relatedClass


useSameDocument

useSameDocument: boolean = false

Defined in: packages/soukai-solid/src/models/relations/mixins/SolidDocumentRelation.ts:21

Inherited from

SolidMultiModelDocumentRelation.useSameDocument


inverseRelationClasses

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

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

Accessors

loaded

Get Signature

get loaded(): boolean

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

Returns

boolean

Implementation of

BeforeParentCreateRelation.loaded


protectedSolidHas

Get Signature

get protected protectedSolidHas(): ProtectedSolidHasRelation

Defined in: packages/soukai-solid/src/models/relations/mixins/SolidHasRelation.ts:28

Returns

ProtectedSolidHasRelation

Inherited from

SolidHasRelation.protectedSolidHas


protectedSolidMulti

Get Signature

get protected protectedSolidMulti(): ProtectedSolidMultiRelation

Defined in: packages/soukai-solid/src/models/relations/mixins/SolidMultiModelDocumentRelation.ts:42

Returns

ProtectedSolidMultiRelation

Inherited from

SolidMultiModelDocumentRelation.protectedSolidMulti

Methods

__beforeParentCreate()

__beforeParentCreate(): void

Defined in: packages/soukai-solid/src/models/relations/SolidHasManyRelation.ts:67

Returns

void


__loadDocumentModels()

__loadDocumentModels(this, documentUrl, document): Promise<void>

Defined in: packages/soukai-solid/src/models/relations/mixins/SolidHasRelation.ts:32

Parameters

this

SolidHasRelationThis

documentUrl

string

document

JsonLDGraph

Returns

Promise<void>

Inherited from

SolidHasRelation.__loadDocumentModels


addRelated()

addRelated(related): void

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

Parameters

Related

Returns

void

Inherited from

SolidMultiModelDocumentRelation.addRelated


assertLoaded()

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

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

Parameters

method

string

Returns

this is { related: Related[] }


attach()

Call Signature

attach(model?): Related

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

Parameters
model?

Related

Returns

Related

Call Signature

attach(attributes): Related

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

Parameters
attributes

Attributes

Returns

Related


clone()

clone(options): this

Defined in: packages/soukai-solid/src/models/relations/SolidHasManyRelation.ts:61

Parameters

options

Partial = {}

Returns

this


cloneSolidData()

protected cloneSolidData(clone): void

Defined in: packages/soukai-solid/src/models/relations/mixins/SolidMultiModelDocumentRelation.ts:152

Parameters

clone

SolidMultiModelDocumentRelationThis<Parent, Related, RelatedClass>

Returns

void

Inherited from

SolidMultiModelDocumentRelation.cloneSolidData


create()

create(attributes): Promise<Related>

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

This method will create an instance of the related model and call the [[save]] method.

Parameters

attributes

Attributes = {}

Returns

Promise<Related>

Inherited from

SolidMultiModelDocumentRelation.create


detach()

detach(this, keyOrModel): void

Defined in: packages/soukai-solid/src/models/relations/mixins/SolidMultiModelDocumentRelation.ts:109

Parameters

this

SolidMultiModelDocumentRelationThis<Parent, Related, RelatedClass>

keyOrModel

string | Related

Returns

void

Inherited from

SolidMultiModelDocumentRelation.detach


disable()

disable(): void

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

Returns

void


enable()

enable(): void

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

Returns

void


getLoadedModels()

getLoadedModels(): Related[]

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

Returns

Related[]


getModels()

getModels(): Promise<Related[]>

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

Returns

Promise<Related[]>


initializeInverseRelations()

initializeInverseRelations(model): void

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

Parameters

model

Related

Returns

void


isEmpty()

isEmpty(): null | boolean

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

Returns

null | boolean

Inherited from

SolidMultiModelDocumentRelation.isEmpty


isInverseOf()

isInverseOf(relation): boolean

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

Parameters

relation

Relation

Returns

boolean


isRelated()

isRelated(model): boolean

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

Parameters

model

Related

Returns

boolean

Inherited from

SolidMultiModelDocumentRelation.isRelated


load()

load(): Promise<Related[]>

Defined in: packages/soukai-solid/src/models/relations/SolidHasManyRelation.ts:33

Returns

Promise<Related[]>


loadDocumentModels()

protected loadDocumentModels(this, modelsInSameDocument, modelsInOtherDocumentIds): void

Defined in: packages/soukai-solid/src/models/relations/mixins/SolidMultiModelDocumentRelation.ts:182

Parameters

this

SolidMultiModelDocumentRelationThis<Parent, Related, RelatedClass>

modelsInSameDocument

Related[]

modelsInOtherDocumentIds

string[]

Returns

void

Inherited from

SolidMultiModelDocumentRelation.loadDocumentModels


loadRelatedModels()

protected loadRelatedModels(documentIds): Promise<Related[]>

Defined in: packages/soukai-solid/src/models/relations/SolidHasManyRelation.ts:73

Parameters

documentIds

string[]

Returns

Promise<Related[]>


onDelete()

onDelete(strategy): this

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

Parameters

strategy

RelationDeleteStrategy

Returns

this


remove()

remove(this, keyOrModel): Promise<void>

Defined in: packages/soukai-solid/src/models/relations/mixins/SolidMultiModelDocumentRelation.ts:103

Parameters

this

SolidMultiModelDocumentRelationThis<Parent, Related, RelatedClass>

keyOrModel

string | Related

Returns

Promise<void>

Inherited from

SolidMultiModelDocumentRelation.remove


reset()

reset(related): void

Defined in: packages/soukai-solid/src/models/relations/SolidHasManyRelation.ts:48

Parameters

Related[] = []

Returns

void


resolve()

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

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

Returns

Promise<null | Related | Related[]>

Deprecated

This method has been renamed to load.


save()

save(this, model): Promise<Related>

Defined in: packages/soukai-solid/src/models/relations/mixins/SolidMultiModelDocumentRelation.ts:88

This method will bind up all the relevant data (foreignKey, inverse relations, etc.) and save the model. If the parent model does not exist and both models will be stored in the same document, the model will be saved when the parent model is saved instead.

Parameters

this

SolidMultiModelDocumentRelationThis

model

Related

Related model instance to save.

Returns

Promise<Related>

Inherited from

SolidMultiModelDocumentRelation.save


setForeignAttributes()

setForeignAttributes(related): void

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

Parameters

Related

Returns

void


static()

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

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

Returns

RelationConstructor<SolidHasManyRelation<Parent, Related, RelatedClass>>


unload()

unload(): void

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

Returns

void


usingSameDocument()

usingSameDocument(useSameDocument): this

Defined in: packages/soukai-solid/src/models/relations/mixins/SolidDocumentRelation.ts:25

Parameters

useSameDocument

boolean = true

Returns

this

Inherited from

SolidMultiModelDocumentRelation.usingSameDocument