Ionize CMS - 带有第二个数据库的模块
Ionize CMS - module with second database
我是 Ionize CMS 领域的新手,我需要您的帮助。是否有可能使模块与第二个数据库一起使用?这个想法是创建两种类型的网站:
一个作为数据库管理(有自己的数据库db1)其中内容是added/modified并被删除.本站数据库将为第二种网站内容服务
第二种(自带数据库db2),会显示第一个网站db1数据库的内容(根据具体配置,无所谓) ).对于这个网站,我想制作一个模块,主要目的是从 db1
获取数据
根据文档,我看到了如何访问父数据库(CMS 数据库 db2)的模块,但现在不能使用其他数据库(例如 db1)中的表
此类网站将安装在相同或不同的主机上。
任何帮助将不胜感激
由于 Ionize 是基于 CodeIgniter 的 CMS,您可以使用更多数据库连接。
要在第二种类型的网站上执行您需要的操作,您应该在 \application\config\database.php
中定义数据库配置
示例配置:
$db['db1']['hostname'] = '';
$db['db1']['username'] = '';
$db['db1']['password'] = '';
$db['db1']['database'] = '';
$db['db1']['dbdriver'] = 'mysqli';
$db['db1']['dbprefix'] = '';
$db['db1']['swap_pre'] = '';
$db['db1']['pconnect'] = FALSE;
$db['db1']['db_debug'] = FALSE;
$db['db1']['cache_on'] = FALSE;
$db['db1']['cachedir'] = '';
$db['db1']['char_set'] = 'utf8';
$db['db1']['dbcollat'] = 'utf8_unicode_ci';
$db['db2']['hostname'] = '';
$db['db2']['username'] = '';
$db['db2']['password'] = '';
$db['db2']['database'] = '';
$db['db2']['dbdriver'] = 'mysqli';
$db['db2']['dbprefix'] = '';
$db['db2']['swap_pre'] = '';
$db['db2']['pconnect'] = FALSE;
$db['db2']['db_debug'] = FALSE;
$db['db2']['cache_on'] = FALSE;
$db['db2']['cachedir'] = '';
$db['db2']['char_set'] = 'utf8';
$db['db2']['dbcollat'] = 'utf8_unicode_ci';
其中 db1 将是 Ionizem 使用的默认数据库,db2 将是来自 网站类型的数据库1。
在此之后,您可以使用类似这样的方式对 db2 进行查询:
$this->remote_db = $this->load->database('db2', TRUE);
$query = $this->remote_db ->get('table_from_website_1');
使用这种方法不要使用持久连接(['pconnect'] = FALSE;
)
对我来说,这个配置很有魅力
我是 Ionize CMS 领域的新手,我需要您的帮助。是否有可能使模块与第二个数据库一起使用?这个想法是创建两种类型的网站:
一个作为数据库管理(有自己的数据库db1)其中内容是added/modified并被删除.本站数据库将为第二种网站内容服务
第二种(自带数据库db2),会显示第一个网站db1数据库的内容(根据具体配置,无所谓) ).对于这个网站,我想制作一个模块,主要目的是从 db1
获取数据
根据文档,我看到了如何访问父数据库(CMS 数据库 db2)的模块,但现在不能使用其他数据库(例如 db1)中的表
此类网站将安装在相同或不同的主机上。
任何帮助将不胜感激
由于 Ionize 是基于 CodeIgniter 的 CMS,您可以使用更多数据库连接。
要在第二种类型的网站上执行您需要的操作,您应该在 \application\config\database.php
示例配置:
$db['db1']['hostname'] = '';
$db['db1']['username'] = '';
$db['db1']['password'] = '';
$db['db1']['database'] = '';
$db['db1']['dbdriver'] = 'mysqli';
$db['db1']['dbprefix'] = '';
$db['db1']['swap_pre'] = '';
$db['db1']['pconnect'] = FALSE;
$db['db1']['db_debug'] = FALSE;
$db['db1']['cache_on'] = FALSE;
$db['db1']['cachedir'] = '';
$db['db1']['char_set'] = 'utf8';
$db['db1']['dbcollat'] = 'utf8_unicode_ci';
$db['db2']['hostname'] = '';
$db['db2']['username'] = '';
$db['db2']['password'] = '';
$db['db2']['database'] = '';
$db['db2']['dbdriver'] = 'mysqli';
$db['db2']['dbprefix'] = '';
$db['db2']['swap_pre'] = '';
$db['db2']['pconnect'] = FALSE;
$db['db2']['db_debug'] = FALSE;
$db['db2']['cache_on'] = FALSE;
$db['db2']['cachedir'] = '';
$db['db2']['char_set'] = 'utf8';
$db['db2']['dbcollat'] = 'utf8_unicode_ci';
其中 db1 将是 Ionizem 使用的默认数据库,db2 将是来自 网站类型的数据库1。 在此之后,您可以使用类似这样的方式对 db2 进行查询:
$this->remote_db = $this->load->database('db2', TRUE);
$query = $this->remote_db ->get('table_from_website_1');
使用这种方法不要使用持久连接(['pconnect'] = FALSE;
)
对我来说,这个配置很有魅力