drupal8怎么使用外部数据库的数据
1个回答
展开全部
Drupal的数据库连接信息通过文件settings.php中的变量$databases设置。变量$databases是一个二维的数组,第一维称为key,第二维称为target。使用这种方式可以处理多数据库和主从分离这样复杂的情况。
例如,假设有这样的配置:
$databases['default']['default'] = array( 'database' => 'drupal',);$databases['default']['slave1'] = array( 'database' => 'slave1',);$databases['default']['slave2'] = array( 'database' => 'slave2',);$databases['erp']['default'] = array( 'database' => 'erp',);$databases['oa']['default'] = array( 'database' => 'oa',);
默认的key是default,默认的target是default,因此大多数情况可以这样查询:
$result = db_query('SELECT * FROM node'); // drupal数据库
如果需要在指定的target中执行查询,可以这样:
$result = db_query('SELECT * FROM node', null, array('target' => 'slave1'));$result = db_query('SELECT * FROM node', null, array('target' => 'slave2'));
如果需要在指定的key中执行查询,可以这样:
DatabaseConnection::setActiveConnection('erp');$result = db_query('SELECT * FROM erp_user');
例如,假设有这样的配置:
$databases['default']['default'] = array( 'database' => 'drupal',);$databases['default']['slave1'] = array( 'database' => 'slave1',);$databases['default']['slave2'] = array( 'database' => 'slave2',);$databases['erp']['default'] = array( 'database' => 'erp',);$databases['oa']['default'] = array( 'database' => 'oa',);
默认的key是default,默认的target是default,因此大多数情况可以这样查询:
$result = db_query('SELECT * FROM node'); // drupal数据库
如果需要在指定的target中执行查询,可以这样:
$result = db_query('SELECT * FROM node', null, array('target' => 'slave1'));$result = db_query('SELECT * FROM node', null, array('target' => 'slave2'));
如果需要在指定的key中执行查询,可以这样:
DatabaseConnection::setActiveConnection('erp');$result = db_query('SELECT * FROM erp_user');
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询