Class HasOneAssociation<S, T, SourceKey, TargetKey, TargetPrimaryKey>

One-to-one association. See Model.hasOne

This is almost the same as BelongsToAssociation, but the foreign key will be defined on the target model.

In the API reference below, add the name of the association to the method, e.g. for User.hasOne(Project) the getter will be user.getProject().

Type Parameters

  • S extends Model = Model

    The model on which Model.hasOne has been called, on which the association methods will be added.

  • T extends Model = Model

    The model passed to Model.hasOne. This model will receive the Foreign Key attribute.

  • SourceKey extends AttributeNames<S> = any

    The name of the attribute that the foreign key in the target model will reference.

  • TargetKey extends AttributeNames<T> = any

    The name of the Foreign Key attribute on the Target model.

  • TargetPrimaryKey extends AttributeNames<T> = any

    The name of the Primary Key attribute of the Target model. Used by HasOneSetAssociationMixin.

Hierarchy (view full)



isAliased: boolean
isSelfAssociation: boolean
parentAssociation: null | Association<Model<any, any>, Model<any, any>, string, NormalizedAssociationOptions<string>>

A reference to the association that created this one.

source: ModelStatic<S>
target: ModelStatic<T>


  • get associationType(): string
  • The type of the association. One of HasMany, BelongsTo, HasOne, BelongsToMany

    Returns string

  • get name(): {
        plural: string;
        singular: string;
  • Returns {
        plural: string;
        singular: string;

    • plural: string
    • singular: string