Я работаю с CI3 и никогда раньше не использовал хуки. У меня 2 панели пользователя,
В моих хуках есть класс switchDatabase, в который я добавил следующий код для переключения между несколькими базами данных, основанными на администраторах и пользователях.
function switchDatabase()
{
$CI = &get_instance();
$CI->load->model("common");
if (DB_TYPE != 'default') {
$rts = $CI->doctrine->em->getRepository("entities\\AppCompany")
->findOneBy(array("companyName" => DB_TYPE));
$data = array();
$data['dbHost'] = $rts->getHost();
$data['dbUsername'] = $rts->getUsername();
$data['dbPassword'] = $rts->getPassword();
$data['dbDatabase'] = $rts->getDatabase();
$CI->common->initialize($data, true);
$config = array();
$config['hostname'] = $data['dbHost'];
$config['username'] = $data['dbUsername'];
$config['password'] = $data['dbPassword'];
$config['database'] = $data['dbDatabase'];
$config['dbdriver'] = "mysqli";
$config['dbprefix'] = "";
$config['pconnect'] = TRUE;
$config['db_debug'] = TRUE;
$config['cache_on'] = FALSE;
$config['cachedir'] = "";
$config['char_set'] = "utf8";
$config['dbcollat'] = "utf8_general_ci";
$config['swap_pre'] = '';
$config['autoinit'] = TRUE;
$config['stricton'] = FALSE;
$CI->load->database($config);
define('FOREIGN_DB', true);
}
}
Нет, моя проблема в том, как или где мне определить DB_TYPE переменная. Я определил эту переменную для моего контроллера. но не повезло .. Пожалуйста, помогите мне решить эту проблему.
Задача ещё не решена.
Других решений пока нет …