同じデータベース内の異なるテーブルについて話している場合は、次のようにすることができます。
同じプレフィックスを持つすべてのモデルのテーブルを変更する場合
app_Modelで
function __construct($id = false, $table = null, $ds = null) {
$prefix = getPrefix();
$this->useTable = $prefix.$useTable;
parent::__construct($id,$table,$ds);
}
このように、使用する前にすべてのモデルテーブルを変更します。モデルクライアントのみを変更する場合は、この同じ関数をクライアントモデルに配置します。カップルがこのモデルで同じことを行う場合は、このようにします。1つを除いてすべてが必要な場合は、このようにapp_modelで実行します
function __construct($id = false, $table = null, $ds = null) {
$prefix = getPrefix();
if ($this->name != 'Client')
$this->useTable = $prefix.$useTable;
parent::__construct($id,$table,$ds);
}
これは動作ではありませんが、問題は解決します:S動作で実行する場合は、beforeFind、beforeSaveなど(データベースで何かを実行する前にすべて)を使用して同様のことを実行するか、ロード時に実行する必要があります。モデル(コントローラーでは、次のようになります$ this-> Client-> useTable =$prefix。$this->Client-> useTable;)
getPrefix()関数は、使用するプレフィックスを指定する関数であることに注意してください。
常にvar$useTable='table'を作成する必要があると思います。これが機能するために。
別のデータベースが必要な場合は、パン屋でこのソリューションの投稿を試してください