Это не должно быть проблемой.Вы можете назначить псевдонимы своим ассоциациям, например:
class Store extends AppModel {
public $belongsTo = array(
'Creator' => array(
'className' => 'User',
'foreignKey' => 'user_id',
),
);
public $hasAndBelongsToMany = array(
'Manager' => array(
'className' => 'User',
'joinTable' => 'stores_users',
'foreignKey' => 'store_id',
'associationForeignKey' => 'user_id',
),
);
}
Теперь find
операции над Store
будут возвращать данные типа
array(
[Store] => array(...)
[Creator] => array(...)
[Manager] => array(
0 => array(...)
1 => array(...)
)
)