我有2个控制器,一般用户的ContentController和管理员的ManageController。我需要将连接从默认更改为admin,我在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',
);
}
谢谢
答案 0 :(得分:10)
因此,在Model中,您将使用useDbConfig属性:
class Example extends AppModel {
public $useDbConfig = 'admin';
}
在您的控制器内部,只需使用:
$this->ModelName->useDbConfig = 'admin';
多数人。
答案 1 :(得分:6)
我会使用Model::setDataSource()
而不是仅设置数据库配置var。这是因为更改数据源还有其他可能的更改:
$this->Model->setDataSource('admin');