Я хочу хранить данные в таблице «очередь» другой базы данных, а не в базе данных по умолчанию. Drupal 7 я могу легко реализовать, нужна помощь для Drupal 8 - PullRequest
0 голосов
/ 07 апреля 2020

Если я хочу хранить данные в таблице «очередь» другой базы данных, а не в базе данных по умолчанию. В Drupal 7 я использовал приведенный ниже код.

db_set_active('otherdb');
  $queue = DrupalQueue::get('xyz');
  $item = new stdClass();
  $item->data1 = $d1;
  $item->data2 = $d2;
  $queue->createItem($item);
  db_set_active();

В Drupal8 я пробовал то же самое, но не работает .. Данные хранятся в таблице очередей базы данных по умолчанию. Я хочу хранить данные в таблице очередей другой базы данных. Пожалуйста, проверьте ниже код

use Drupal\Core\Queue\QueueFactory;
use Drupal\Core\Database\Database;

Database::setActiveConnection('otherdb');
$queue = $this->queue->get('xyz');
$queue->createQueue();
$item = new \stdClass();
$item->data1 = $d1;
$item->data2 = $d2;
$queue->createItem($item);
Database::setActiveConnection('');

Выше код не работает должным образом, пожалуйста, направьте меня.

...