OptionalasOptionalforeignForeign key field name(s) for the association. Can be a single string for simple foreign keys, or an array for composite foreign keys.
OptionalsourceSource key(s) on the source model (the model defining the association). Defaults to the primary key.
OptionaltargetTarget key(s) on the target model (the model being associated). Defaults to the primary key.
OptionalconstraintsOptionalonReferential action to take when the referenced row is deleted.
OptionalonReferential action to take when the referenced row's key is updated.
OptionalforeignOptionalthroughOptionalscope
Shared options for every association: the alias it is exposed under, the foreign key, and what happens to children when the parent goes.