如何切换到第二个数据库Drupal
How to switch to second database Drupal
我是 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');
,
我得到
Call to undefined method
Drupal\Core\Database\Driver\mysql\Connection::setActiveConnection() in
Drupal\business_listing\BusinessListingDbLogic->__construct()
我在这里做错了什么?
任何帮助或建议将不胜感激。亲切的问候,马特
使用下面的代码:
\Drupal\Core\Database\Database::setActiveConnection('otherdb');
$connection = \Drupal\Core\Database\Database::getConnection();
我是 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');
,
我得到
Call to undefined method
Drupal\Core\Database\Driver\mysql\Connection::setActiveConnection() in Drupal\business_listing\BusinessListingDbLogic->__construct()
我在这里做错了什么? 任何帮助或建议将不胜感激。亲切的问候,马特
使用下面的代码:
\Drupal\Core\Database\Database::setActiveConnection('otherdb');
$connection = \Drupal\Core\Database\Database::getConnection();