src/Model/AssociationsAwareTrait.php
public static function generateAssociationName(string $tableName, string $foreignKey) : string
    {
        list($plugin, $tableName) = pluginSplit($tableName);
        $plugin = false !== strpos($plugin, '/') ? substr($plugin, strpos($plugin, '/') + 1) : $plugin;

        return Inflector::camelize($foreignKey) . $plugin . $tableName;
    }
public static function generateAssociationName(string $tableName, string $foreignKey) : string
    {
        list($plugin, $tableName) = pluginSplit($tableName);
        $plugin = false !== strpos($plugin, '/') ? substr($plugin, strpos($plugin, '/') + 1) : $plugin;

        return Inflector::camelize($foreignKey) . $plugin . $tableName;
    }
public static function generateAssociationName ( string $ tableName , string $ foreignKey ) : string { list ( $ plugin , $ tableName ) = pluginSplit ( $ tableName ) ; $ plugin = false !== strpos ( $ plugin , '/' ) ? substr ( $ plugin , strpos ( $ plugin , '/' ) + 1 ) : $ plugin ; return Inflector :: camelize ( $ foreignKey ) . $ plugin . $ tableName ; }
Generates unique association name based on Table name and foreign key.

For example, "Articles" migration.json includes a field "author_id,related(Authors)":

AuthorIdArticles

@param string $tableName Table name
@param string $foreignKey Foreign key
@return string
Generates unique association name based on Table name and foreign key .