Доброе утро,
В настоящее время я работаю над проектом, который использует Codeigniter и библиотеку Datamapper (http://datamapper.wanwizard.eu).). В проекте используется центральная база данных для пользовательских данных (называемая «база») и отдельная база данных для данных приложения («crm»). Это сделано для того, чтобы в будущем мы могли создавать другие приложения, использующие каталог пользователя, без привязки к одному серверу.
У меня проблема в том, что мне нужно использовать встроенные отношения Datamapper, но для двух баз данных. Вот мои настройки:
Модель лица
class person extends DataMapper {
var $db_params = 'base';
var $prefix = 'base_';
var $has_many = array(
'initiated_event' => array('class' => 'event','other_field' => 'initiator')
)
}
Модель события
class event extends DataMapper {
var $db_params = 'crm';
var $prefix = 'crm_';
var $has_one = array(
'initiator' => array('class' => 'person','other_field' => 'initiated_event')
)
}
Проблема
Когда я пытаюсь использовать $ events-> initiator-> get () , я получаю следующую ошибку:
Error Number: 1146
Table 'circle_base.crm_events' doesn't exist
SELECT `base_persons`.* FROM (`base_persons`) LEFT OUTER JOIN `crm_events` initiated_event_crm_events ON `base_persons`.`id` = `initiated_event_crm_events`.`initiator_id` WHERE `initiated_event_crm_events`.`id` = 1
Filename: C:\xampp\htdocs\circle\crm\system\database\DB_driver.php
Line Number: 330
Может ли кто-нибудь пролить свет на этот вопрос? Поддерживает ли DataMapper соединения между базами данных? Если нет, то есть ли способ, которым я могу этого достичь?