К сожалению, CakePHP не поддерживает составные первичные ключи. Это обычный обходной путь (добавление нового столбца с простым единичным первичным ключом и ограничение UNQIUE для столбцов, которые раньше были составным ключом), также не работает для вас, поскольку вы не можете изменить схему.
Похоже на твою грудь. Пара вещей, которые вы можете сделать:
Получите лучшую среду ORM или PHP. Тот, который поддерживает составные первичные ключи (например, что-то, что использует Doctrine 2). Честно говоря, ORM от CakePHP не так уж и хорош.
Использовать необработанные запросы через слой базы данных CakePHP. Вы по-прежнему будете возвращать вложенные массивы, как если бы вы использовали настоящую модель CakePHP. Это может быть достаточно для вас, в зависимости от того, чего вы пытаетесь достичь.