Model Configuration Association Functions void model
Sets up a
hasMany association between this model and the specified one.
|name||string||Yes||Gives the association a name that you refer to when working with the association (in the
|modelName||string||No||Name of associated model (usually not needed if you follow CFWheels conventions because the model name will be deduced from the
|foreignKey||string||No||Foreign key property name (usually not needed if you follow CFWheels conventions since the foreign key name will be deduced from the
|joinKey||string||No||Column name to join to if not the primary key (usually not needed if you follow CFWheels conventions since the join key will be the table's primary key/keys).|
|joinType||string||No||outer||Use to set the join type when joining associated tables. Possible values are
|dependent||string||No||false||Defines how to handle dependent model objects when you delete an object from this model.
|shortcut||string||No||Set this argument to create an additional dynamic method that gets the object(s) from the other side of a many-to-many association.|
|through||string||No||[runtime expression]||Set this argument if you need to override CFWheels conventions when using the
// Specify that instances of this model has many comments (the table for the associated model, not the current, should have the foreign key set on it). hasMany("comments"); // Specify that this model (let's call it `reader` in this case) has many subscriptions and setup a shortcut to the `publication` model (useful when dealing with many-to-many relationships). hasMany(name="subscriptions", shortcut="publications"); // Automatically delete all associated `comments` whenever this object is deleted. hasMany(name="comments", dependent="deleteAll"); // When not following CFWheels naming conventions for associations, it can get complex to define how a `shortcut` works. // In this example, we are naming our `shortcut` differently than the actual model's name. // In the models/Customer.cfc `config()` method. hasMany(name="subscriptions", shortcut="magazines", through="publication,subscriptions"); // In the models/Subscription.cfc `config()` method. belongsTo("customer"); belongsTo("publication"); // In the models/Publication `config()` method. hasMany("subscriptions");