ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: Я новичок в веб-разработке
СЦЕНАРИЙ: Я создаю веб-приложение, которое использует ion_auth для управления всей информацией пользователя / администратора (использует базу данных MySQL), и каждый пользователь имеет собственную базу данных (также MySQL) для основных приложений. Я загрузил базу данных, которую я использую для ion_auth в файле applicationact / config / database.php в CodeIgniter. Я использую стандартный формат MVC (отдельные модели, относящиеся к каждой базе данных).
ВОПРОС: Мне нужно знать, как легко и эффективно использовать несколько баз данных сразу в CodeIgniter. Мне нужно связать две схемы базы данных вместе, или CodeIgniter сделает это для меня? Существуют ли какие-либо ресурсы для решения этой проблемы (у меня были проблемы с ее поиском)?
Большое вам спасибо за вашу помощь!
в вашем файле конфигурации базы данных добавьте столько групп конфигурации, сколько номеров ваших баз данных:
$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');