关于此主题的每个教程或文档都与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从数据库获取除默认数据之外的数据。
答案 0 :(得分:0)
您可以使用ConnectionManager::alias()。
连接别名允许您重命名活动连接,而不会覆盖别名连接。
ConnectionManager::alias('not_default','default');
//from now on, all calls to default will resolve to not_default datasource