cakephp 调用不同数据库中的数据表
程序员文章站
2022-05-02 14:51:07
...
在用框架cakephp做项目时遇到这样的问题:需要新建一个数据库,然后此项目与新建的库中的表链接,用loadModel('testQuestion’);然后$this->testQuestion->useDbConfig = 'testBase';这样的逻辑应该是没有问题的,但是在database配置中默认的库是wss,这个库中是没有这个表的,
Php代码
class DATABASE_CONFIG { var $default = array( 'driver' => 'mysql', 'persistent' => false, 'host' => '192.168.9.10', 'login' => 'root', 'password' => '123456', 'database' => 'wss', 'encoding' => 'utf8', 'prefix' => '', ); var $testBase = array( 'driver' => 'mysql', 'persistent' => false, 'host' => '192.168.9.10', 'login' => 'root', 'password' => '123456', 'database' => 'wss_test', 'encoding' => 'utf8', 'prefix' => '', ); class DATABASE_CONFIG { var $default = array( 'driver' => 'mysql', 'persistent' => false, 'host' => '192.168.9.10', 'login' => 'root', 'password' => '123456', 'database' => 'wss', 'encoding' => 'utf8', 'prefix' => '', ); var $testBase = array( 'driver' => 'mysql', 'persistent' => false, 'host' => '192.168.9.10', 'login' => 'root', 'password' => '123456', 'database' => 'wss_test', 'encoding' => 'utf8', 'prefix' => '', );
那么显示页面的时候就会报404错。最后找到了解决方法,如下:
Php代码
/* * testBase库中model * */ class TestQuestion extends AppModel{ public $name = 'PreschoolTestQuestion'; var $useDbConfig = 'testBase'; var $useTable = false; } /* * testBase库中model * */ class TestQuestion extends AppModel{ public $name = 'PreschoolTestQuestion'; var $useDbConfig = 'testBase'; var $useTable = false; }
就是在models文件夹下建立一个以wss_test库中的该表名为名的model文件,然后注明使用哪个库就好了。
顺便说一下:如默认的库中有这个表的话可以不用建model文件说明。如在主从库中可以这么使loadModel('testQuestion’);然后$this->testQuestion->useDbConfig = 'testBase';
以上就是cakephp 调用不同数据库中的数据表 的内容,更多相关内容请关注PHP中文网(www.php.cn)!
推荐阅读
-
MySQL数据库中拷贝数据表的方法
-
mysql-请问:用java代码把不同的excel形式加载到MySQL数据库中(循环判断空就停止)?谢谢!
-
mysql-请问:用java代码把不同的excel形式加载到MySQL数据库中(循环判断空就停止)?谢谢!
-
不同格式的Access文件导入Mssql数据库中
-
mysql中数据库与数据表编码格式的查看、创建及修改
-
mysql中数据库与数据表编码格式的查看、创建及修改
-
jQuery中调用ajax方法时在不同浏览器中遇到的问题
-
有关数据库SQL递归查询在不同数据库中的实现方法
-
Mysql数据库中数据表的优化、外键与三范式用法实例分析
-
DROP TABLE在不同数据库中的写法整理