免责声明:我是Web开发的新手
场景:我正在构建一个使用ion_auth来管理所有用户/管理员信息(使用MySQL数据库)的Web应用程序,并且每个用户都有自己的数据库(也包括MySQL)用于核心应用程序。我已经在CodeIgniter的applicaton / 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;
然后将其设置为contructor,如下所示
__construct() { ... $this->db_b = $this->load->database('b', TRUE); }
现在您可以b照常使用数据库了:
b
$this->db_b->query('YOUR QUERY');
显然是默认值,如下所示:
$this->db->query('YOUR QUERY');