2013-04-16 2 views
0

Я работаю над многопользовательской системой, которая имеет базу данных «sitemanager», а затем базу данных на сайт.MY_Model указанная база данных, не работающая с MY_Controller

Чтобы принять решение о загрузке базы данных сайта, а также о настройке некоторых других файлов конфигурации, я внедрил MY_Controller для загрузки информации из базы данных sitemanager, прежде чем мы дойдем до любого из основных контроллеров.

Я уже настроил несколько моделей, чтобы использовать базу данных SiteManager, чтобы сделать это, я просто включал

public function __construct() 
{  
    $this->_db_group = 'sitemanager'; 
    parent::__construct(); 
} 

в верхней части декларации модели, а затем указанный параметры SiteManager в моем database.php

Этот метод отлично работает, когда я вызываю модель со стандартного контроллера, я установил страницу входа в систему, чтобы работать с таблицей в базе данных sitemanager, и это прекрасно работает, однако, когда я пытаюсь использовать модель, которая вызывая базу данных sitemanager из MY_Controller, она не работает, и сообщение об ошибке я получаю «Table» tran slation.domains "не существует", он явно пытается загрузить мою базу данных по умолчанию, а не sitemanager.

Может ли кто-нибудь сказать мне, что я делаю неправильно? Почему игнорируется настройка базы данных sitemanager?

MY_Controller.php выглядит следующим образом:

<?php 
class MY_Controller extends CI_Controller { 

function MY_Controller() { 

    parent::__construct(); 

    $this->load->model('company_model'); 

    // Get domain and load info from database 
    $domain_info = $this->domain_model->get_by(array('domain' => $_SERVER['HTTP_HOST'])); 

    // Company info 
    $company_info = $this->company_model->get($domain_info->company_id); 

    // Set global variables 
    define('GLOBAL_COMPANY_ID',$company_info->id); 
    define('GLOBAL_COMPANY_NAME',$company_info->name); 
    } 
} 

модель домена выглядит следующим образом:

class Domain_model extends MY_Model { 

    public function __construct() 
    { 
     $this->_db_group = 'sitemanager'; 
     parent::__construct(); 
    } 

} 

Спасибо :)

+3

Вы не загружаете модель компании вместо модели домена? –

+0

Извините, вы должны были указать, что модель домена в настоящее время настроена на автозагрузку. Я тоже включил его в верхнюю часть MY_Controller, не имел никакого значения. – bradfields

ответ

0

Я исправил проблему только в случае, если кто-то приходит против тоже самое.

Я переместил загрузку модели домена обратно в MY_Controller, а не ее автозагрузку. Это все еще не сработало, пока я не переместил нагрузку модели домена на ниже модель компании (модель компании использует базу данных по умолчанию), и все тогда работало нормально.

Смежные вопросы