さて、私の最初の質問は何度も変更されたので、それを削除して質問を再定式化することにしました。問題の適切な解決策を見つけるために、さまざまなモデル名で小さなテストケースプロジェクトを作成しました。
警告:データベースとテーブルを混同しないでください
動機:法的な問題とパフォーマンスの問題のために、ユーザーデータを複数のデータベースに分割しました。
現在、私は複数の'を持ち、それぞれが複数のテーブル(テーブルの1つ)を持つ独自のデータベースを持っているCakePHPプロジェクトに取り組んでいます。今、私は最初に何かを説明する必要があります:UserUsercars
すべてUserに独自のデータベース(テーブルやデータベースではない)があるため、データベース名は次のようになります。
- [データベース]
app(これはアプリのメインデータベースです)- [テーブル]
users - [表]
permissions(この質問には関係ありません)
- [テーブル]
- [データベース]
app_user1( 1はこのデータベースUser.id全体を所有します)- [TABLE]
cars( 1が完全に所有するテーブルUser.id)
- [TABLE]
- [データベース]
app_user2( 2はこのデータベースUser.id全体を所有しています)- [TABLE]
cars( 2が完全に所有するテーブルUser.id)
- [TABLE]
- 等...
データベース/テーブルの定義とモデルとの関係を明確にする可能性のある小さな図面を作成しました。

問題!!!
ログインするまで、どのデータベースに接続するかわかりません。とそのデータベースは動的に作成されるため、を使用できません。UserUserapp/Config/database.php
だから私は現在、CakePHPの基本的なデータベースの振る舞いをバイパスするためにModelとクラスの拡張機能を書いています。ConnectionManagerしたがって、Carモデルは使用するデータベースを認識しています。しかし、私はこれがもっと簡単にできると感じています!
だから私はそれがすべて1つの質問に要約されると思います:
これを行う簡単な方法はありますか?!
私の問題を読んで理解するために時間と労力を費やしてくれる人に感謝します!