使用连接管理器与orm cakephp 3

时间:2016-12-07 13:53:20

标签: cakephp orm cakephp-3.x

关于此主题的每个教程或文档都与sql查询一起使用,但从不与新的orm一起使用。 我在config / app.php中定义了两个数据源:default和not_default 当用户登录默认数据库时,使用相同的表和列。 当用户点击某个按钮时,我需要将连接的数据库更改为not_default:

到目前为止我实现了这个目标:

ConnectionManager::get('default')->disconnect();
ConnectionManager::get('not_default')->connect();
ConnectionManager::get('not_default')->begin();  //dont know if required

执行此操作时:echo ConnectionManager::get('not_default')->isConnected();我为not_default获得1,默认为0,因此它已连接 但问题是当获得模型的TableRegistry时,connectionname仍然是默认值!怎么改呢???

我希望能够使用orm从数据库获取除默认数据之外的数据。

1 个答案:

答案 0 :(得分:0)

您可以使用ConnectionManager::alias()

连接别名允许您重命名活动连接,而不会覆盖别名连接。

ConnectionManager::alias('not_default','default');
//from now on, all calls to default will resolve to not_default datasource