在 CakePHP 中你必须定义更多的数据库配置。
在 CakePHP 2 中:
- 将“模式”参数设置为您的配置
- 为您的所有架构创建新配置
- 在模型中使用正确的模式
例如,数据库配置:
public $default = array(
'datasource' => 'Database/Postgres',
'persistent' => false,
'host' => 'localhost',
'login' => 'my_db_user',
'password' => 'my_db_passw',
'database' => 'my_project_db',
'prefix' => '',
'encoding' => 'utf8',
'schema' => 'postgres'
);
public $other_schema = array(
'datasource' => 'Database/Postgres',
'persistent' => false,
'host' => 'localhost',
'login' => 'my_db_user',
'password' => 'my_db_passw',
'database' => 'my_project_db',
'prefix' => '',
'encoding' => 'utf8',
'schema' => 'other_schema'
);
如果你想在模型中使用它:
class AppModel extends AppModel {
public $useDbConfig = 'other_schema';
}
在 CakePHP3 中也是这样,只是数据库是 config/app.php 并且你必须使用
use Cake\Datasource\ConnectionManager;
$connection = ConnectionManager::get('default');