Подтвердить что ты не робот

Использование нескольких баз данных в CodeIgniter

ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: Я новичок в веб-разработке

СКЭНАРИО: Я создаю веб-приложение, которое использует ion_auth для управления всей информацией пользователя/администратора (использует базу данных MySQL), и каждый пользователь имеет собственную базу данных (также MySQL) для основных приложений. Я загрузил базу данных, которую я использую для ion_auth в файле applicationact/config/database.php в CodeIgniter. Я использую стандартный формат MVC (отдельные модели, относящиеся к каждой базе данных).

ВОПРОС: Мне нужно знать, как легко и эффективно использовать несколько баз данных сразу в CodeIgniter. Мне нужно связать две схемы базы данных вместе, или CodeIgniter сделает это для меня? Существуют ли какие-либо ресурсы для решения этой проблемы (у меня возникли проблемы с ее поиском)?

Большое вам спасибо за вашу помощь!

4b9b3361

Ответ 1

в вашем файле конфигурации базы данных добавьте столько групп конфигурации, сколько номеров ваших баз данных:

$db['a']['hostname'] = 'localhost';
$db['a']['username'] = 'user';
$db['a']['password'] = 'pw';
$db['a']['database'] = 'db1';
...

$db['b']['hostname'] = 'localhost';
$db['b']['username'] = 'user';
$db['b']['password'] = 'pw';
$db['b']['database'] = 'db2';
...

//set the default db
$active_group = 'a';

то на вашей модели инициализируйте переменную класса:

private $db_b;

и, в конструктор, установите его следующим образом

__construct()
{
   ...
   $this->db_b = $this->load->database('b', TRUE); 
}

теперь вы можете использовать базу данных b, как обычно:

$this->db_b->query('YOUR QUERY');

и, очевидно, по умолчанию:

$this->db->query('YOUR QUERY');