static function initialize_association_options($class_name, $plural_name, &$options) { parent::initialize_association_options($class_name, $plural_name, $options); if (!isset($options['join_table'])) { $tableized_class = Inflector::tableize($class_name); $tableized_foreign_class = Inflector::tableize($options['class_name']); $options['join_table'] = $tableized_class < $tableized_foreign_class ? $tableized_class . '_' . $tableized_foreign_class : $tableized_foreign_class . '_' . $tableized_class; } if (!isset($options['association_foreign_key'])) { $options['association_foreign_key'] = Inflector::uncamelize($options['class_name']) . '_id'; } }
static function initialize_association_options($class_name, $plural_name, &$options) { /* * Handle polymorphic associations */ if (isset($options['as'])) { if (!isset($options['foreign_key'])) { $options['foreign_key'] = $options['as'] . '_id'; } if (!isset($options['foreign_type'])) { $options['foreign_type'] = $options['as'] . '_type'; } } parent::initialize_association_options($class_name, $plural_name, $options); }