Interface BelongsToManyOptions<SourceKey, TargetKey, ThroughModel>

Options provided when associating models with belongsToMany relationship.

Used by belongsToMany.

Type Parameters

  • SourceKey extends string = string

  • TargetKey extends string = string

  • ThroughModel extends Model = Model

Hierarchy

Properties

as?: string | {
    plural: string;
    singular: string;
}

The alias of this model, in singular form. See also the name option passed to sequelize.define. If you create multiple associations between the same tables, you should provide an alias to be able to distinguish between them. If you provide an alias when creating the association, you should provide the same alias when eager loading and when getting associated models. Defaults to the singularized name of target

foreignKey?: Extract<keyof ThroughModel["_attributes"], string> | ForeignKeyOptions<Extract<keyof ThroughModel["_attributes"], string>>

The configuration of the foreign key Attribute. See define or init for more information about the syntax.

Using a string is equivalent to passing a ForeignKeyOptions object with the name option set.

foreignKeyConstraints?: boolean

Should "ON UPDATE", "ON DELETE" and "REFERENCES" constraints be enabled on the foreign key?

This only affects the foreign key that points to the source model. to control the one that points to the target model, set BelongsToManyOptions.inverse.foreignKeyConstraints.

hooks?: boolean

If false the applicable hooks will not be called. The default value depends on the context.

Default

true

inverse?: {
    as?: string | {
        plural: string;
        singular: string;
    };
    foreignKeyConstraints?: boolean;
    scope?: AssociationScope;
}

Configures this association on the target model.

Type declaration

  • Optional as?: string | {
        plural: string;
        singular: string;
    }
  • Optional foreignKeyConstraints?: boolean
  • Optional scope?: AssociationScope
otherKey?: Extract<keyof ThroughModel["_attributes"], string> | ForeignKeyOptions<Extract<keyof ThroughModel["_attributes"], string>>

The name of the foreign key in the join table (representing the target model) or an object representing the type definition for the other column (see Sequelize.define for syntax). When using an object, you can add a name property to set the name of the colum. Defaults to the name of target + primary key of target

A key/value set that will be used for association create and find defaults on the target. (sqlite not supported for N:M)

sourceKey?: SourceKey

The name of the field to use as the key for the association in the source table. Defaults to the primary key of the source table

targetKey?: TargetKey

The name of the field to use as the key for the association in the target table. Defaults to the primary key of the target table

through: string | ModelStatic<ThroughModel> | ThroughOptions<ThroughModel>

The name of the table that is used to join source and target in n:m associations. Can also be a sequelize model if you want to define the junction table yourself and add extra attributes to it.

Generated using TypeDoc