Intereting Posts
DatePicker: невозможно установить свойство «currentDay» неопределенного, когда идентификатор нескольких массивов Laravel 5.3: Внедрение паспортов – {"error": "invalid_client", "message": "Ошибка аутентификации клиента}} Рассчитайте расстояние Google от входного адреса и всего адреса от сервера MySQL с помощью jQuery ajax.get Как создать глобальный файл конфигурации? PHP SimpleXML большой файл без дополнительного использования памяти Настройка почтового сервера в ПК PHP: Как отобразить изображение по умолчанию, если указанный не существует? Как проверить статус учетной записи PayPal по электронной почте или мобильному телефону, используя php api? Получение данных с другого веб-сайта с помощью php php curl get proxy Ошибка синтаксиса, неожиданный T_SL Ошибка анализа: синтаксическая ошибка, неожиданная «<» в C: \ wamp \ www \ form1.php в строке 2 В чем разница между перенаправлением и переходом в рамках Zend Как увидеть laravel без php Artisan Получение отрывка из HTML в PHP

Присоедините запрос к двум базам данных в codeigniter

Мне нужно написать запрос соединения двух таблиц из двух баз данных и получить объединенные данные. Например, рассмотрим, что у меня есть база данных db1, в которой есть таблицы, названные компаниями, планами, клиентами. Предположим, мне нужно объединить две таблицы компаний и планы с другой таблицей «cdr» в другой базе данных db2, группируя их с помощью аналогичного столбца.

Запрос, который я запускаю прямо сейчас, приведен ниже:

function get_per_company_total_use ($custid) { $this->DB1->select('ph_Companies.CompanyName'); $this->DB1->where('ph_Companies.Cust_ID', $custid); $this->DB2->select_sum('cdr.call_length_billable')->from('cdr'); $this->DB2->group_by('cdr.CompanyName'); $this->db->join('Kalix2.ph_Companies', 'Kalix2.ph_Companies.CompanyName = Asterisk.cdr.CompanyName'); $query = $this->db->get(); if($query->result()){ foreach ($query->result() as $value) { $companies[]= array($value->CompanyName,$value->call_length_billable); } return $companies; } else return FALSE; } 

Но мой запрос не извлекает данные и не выдает ошибку. Этот же запрос, я работал в одной базе данных и работает. Но мне нужна помощь, чтобы найти, как это можно сделать с двумя базами данных.

Вы можете просто указать следующее, если вам нужно присоединиться к двум таблицам базы данных:

 function get_per_company_total_use ($custid) { $this->db->select('Kalix2.ph_Companies.CompanyName'); $this->db->where('Kalix2.ph_Companies.Cust_ID', $custid); $this->db->select_sum('Asterisk.cdr.call_length_billable')->from('Asterisk.cdr'); $this->db->group_by('Asterisk.cdr.CompanyName'); $this->db->join('Kalix2.ph_Companies', 'Kalix2.ph_Companies.CompanyName = Asterisk.cdr.CompanyName'); $query = $this->db->get(); if($query->result()){ foreach ($query->result() as $value) { $companies[]= array($value->CompanyName,$value->call_length_billable); } return $companies; } else return FALSE; } 

Здесь на самом деле вам не нужно указывать переменную соединения DB1 или DB2, просто укажите $ this-> db.