如何切换到第二个数据库Drupal

时间:2019-01-25 10:06:50

标签: database drupal drupal-8

我是Drupal开发的新手。

我发现了很多有关在线添加其他数据库的信息,我正努力在现有代码中实现它。

我有一个名为BusinessListingDbLogic.php的文件,该文件当前连接到本机Drupal数据库并执行查询。

我使用BusinessListingDbLogic.php中的以下代码建立与本机数据库的连接

    <?php

namespace Drupal\business_listing;

use Drupal\Core\Database\Database;

class BusinessListingDbLogic {

 protected $database;

 public function __construct() {
  $this->database = Database::getConnection();
  //$this->database->setActiveConnection('external');
 }

这很好用,因为它可以毫无问题地连接到本地Drupal数据库,但是只要我取消注释//$this->database->setActiveConnection('external');, 我得到

  

调用未定义的方法

     
    

Drupal \ Core \ Database \ Driver \ mysql \ Connection :: setActiveConnection()在     Drupal \ business_listing \ BusinessListingDbLogic-> __ construct()

  

我在这里做错了什么? 任何帮助或建议,将不胜感激。亲切的问候,马特

1 个答案:

答案 0 :(得分:1)

使用以下代码:

\Drupal\Core\Database\Database::setActiveConnection('otherdb');
$connection = \Drupal\Core\Database\Database::getConnection();