Насколько я могу судить, это происходит, если ваша модель имеет отношения с моделями, которые не используют такое же поведение. Пожалуйста, исправьте меня, если это предположение неверно.
Все модели имеют метаданные, которые CakePHP накапливает с помощью запроса DESCRIBE к базе данных, если эти данные отсутствуют, ваши объединения будут нарушены. Эти метаданные зависят от конфигурации базы данных.
CakePHP использует эти метаданные для заполнения свойства схемы $ this -> _. Соединения SQL создаются на основе данных из свойства схемы $ this -> _, и я думаю, что именно в этом заключается ваша проблема: база данных, представленная этим поведением переключателя MasterSlave, не имеет метаданных модели для таблиц, связанных с моделью.
Решением было бы обновить ваше поведение, чтобы оно переключалось только выборочно на чтение и запись. Добавьте это поведение ко всем связанным моделям. т.е. любая модель, связанная с использованием hasOne, hasMany и т. д., должна также использовать то же поведение.
По сути, все связанные модели должны записывать в одну и ту же базу данных и читать из одной и той же базы данных.
Бонус этого решения заключается в том, что вы будете использовать одни и те же соединения с базой данных.