5

一般ユーザー用の ContentController と管理者用の ManageController の 2 つのコントローラーがあります。接続をデフォルトから管理者に変更する必要があり、database.php にこのコードがあります。

class DATABASE_CONFIG {

    public $default = array(
        'datasource' => 'Database/Mysql',
        'persistent' => false,
        'host' => 'localhost',
        'login' => 'user',
        'password' => '',
        'database' => 'ComputerScience',
        'prefix' => '',
        'encoding' => 'utf8',
    );

    public $admin = array(
        'datasource' => 'Database/Mysql',
        'persistent' => false,
        'host' => 'localhost',
        'login' => 'admin',
        'password' => '',
        'database' => 'ComputerScience',
        'prefix' => '',
        'encoding' => 'utf8',
    );
}

ありがとうございました

4

2 に答える 2

10

したがって、モデル内では、useDbConfig属性を使用します。

class Example extends AppModel {
    public $useDbConfig = 'admin';
}

コントローラ内では、次を使用するだけです。

$this->ModelName->useDbConfig = 'admin';

それで全部です。

于 2012-10-28T16:20:55.803 に答える
6

Model::setDataSource()データベース構成変数を設定するだけでなく、使用します。これは、データソースの変更に伴う他の変更が考えられるためです。

$this->Model->setDataSource('admin');
于 2012-10-29T14:05:42.330 に答える