Хорошо, мой первый вопрос был изменен так много раз, что я решил удалить его и переформулировать мой вопрос. Я разработал небольшой тестовый проект с разными именами моделей, чтобы найти подходящее решение для моей проблемы.
Предупреждение. Не смешивайте базы данных с таблицами
Мотивация. Я разделил пользовательские данные на несколько баз данных для юридических и проблем с производительностью.
В настоящее время я работаю над проектом CakePHP, который имеет несколько User, и каждый User имеет собственную базу данных с несколькими таблицами. > (carsявляется одной из таблиц). Теперь мне нужно сначала что-то объяснить:
Каждая User имеет свою собственную базу данных (а не таблицу, базу данных), поэтому имена базы данных выглядят следующим образом.
- [DATABASE]
app(Это основная база данных приложения)- [TABLE]
users - [TABLE]
permissions(Не относится к этому вопросу)
- [TABLE]
- [DATABASE]
app_user1(User.id1 владеет всей этой базой данных)- [TABLE]
cars(a таблица, полностью принадлежащаяUser.id1)
- [TABLE]
- [DATABASE]
app_user2(User.id2 владеет всей этой базой данных)- [TABLE]
cars(a таблица полностью принадлежитUser.id2)
- [TABLE]
- и т.д...
Я сделал небольшой чертеж, который может прояснить базу данных/ таблица -definitions и их отношения к моделям:

Проблема!!!
Я не знаю, к какой базе данных подключиться, пока User не войдет в систему. User и их базы данных создаются динамически, поэтому я не могу использовать app/Config/database.php.
Итак, я сейчас пишу расширение в классах Model и ConnectionManager, чтобы обойти поведение базовой базы CakePHP. Таким образом, модель Car знает, какую базу данных использовать. Но я просто чувствую, что это можно сделать легче!
Итак, я думаю, все это сводится к одному вопросу:
Есть ли более простой способ сделать это?!
Спасибо всем, кто потратит время и силы на чтение и понимание моей проблемы!