场景:我正在构建一个 Web 应用程序,它使用 ion_auth 来管理所有用户/管理员信息(使用 MySQL 数据库),并且每个用户都有自己的数据库(也有 MySQL)用于核心应用程序目的。我已在 CodeIgniter 内的 application/config/database.php 文件中自动加载了用于 ion_auth 的数据库。我使用标准 MVC 格式(与每个数据库相关的单独模型)。
问题:我需要知道如何在 CodeIgniter 中轻松高效地同时使用多个数据库。我是否需要将两个数据库模式链接在一起,或者 CodeIgniter 会为我做这件事吗?是否有任何资源可以解决这个问题(我在寻找资源时遇到了困难)?
在数据库配置文件中添加与数据库数量一样多的配置组:
$db['a']['hostname'] = 'localhost';
$db['a']['username'] = 'user';
$db['a']['password'] = 'pw';
$db['a']['database'] = 'db1';
...
$db['b']['hostname'] = 'localhost';
$db['b']['username'] = 'user';
$db['b']['password'] = 'pw';
$db['b']['database'] = 'db2';
...
//set the default db
$active_group = 'a';
然后在你的模型上初始化一个类变量:
private $db_b;
并且,在构造函数中,将其设置如下
__construct()
{
...
$this->db_b = $this->load->database('b', TRUE);
}
现在您可以使用数据库了b
照常:
$this->db_b->query('YOUR QUERY');
显然默认的如下:
$this->db->query('YOUR QUERY');
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)