2015-05-11 3 views
0

У меня есть страница администратора, в которой администратор может выбрать, откуда он/она хочет, чтобы отслеживать данные базы данных: Local или Masterнагрузки на условном операторе

Если они выбирают, Local, то они получат данные HTTP: 123.456.789: 3306 Если они выбирают, Интер, то они будут получать данные из HTTP: 987.546.321: 3306

$query_builder = TRUE; 

$db['Local'] = array(
    'hostname' => '123.456.789', 
    ..... 

$db['Inter'] = array(
    'hostname' => '987.546.321', 
    ..... 

здесь я успешно выбрать какую базу данных я хочу получить от модель:

function get_Onedata { 
     $this->db2 = $this->load->database('inter',TRUE); 
     ... 
     $query = $this->db2->query($sql); 
    } 

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

То, что я хочу есть, когда я отправить/передать переменные, такие как:

$database = $this->input->post('database'); 

    $toModel = $this->get_model->get_Onedata($database); 

И получить базу данных с помощью функции родительского конструкта:

public function __construct($database) 
    { 
     parent::__construct(); 

     if($database = 'inter') 
      { 
       $this->db = $this->load->database('inter',TRUE); 
      } 
     else 
      { 
       $this->db = $this->load->database('local',TRUE); 
      } 


    public function get_Onedata() 
     { 
      ... 
      ... 
      ... 
      $query = $this->db->query($sql); 
     } 

    } 

Я надеюсь, что кто-нибудь знает, что я делаю в эскизе выше.

Может ли кто-нибудь помочь мне, как правильно выполнить этот метод?

Большое спасибо заранее.

ответ

0

Если вы делаете это ...

$toModel = $this->get_model->get_Onedata($database); 

Затем вам нужно будет сделать что-то вроде этого ...

public function __construct(){ 
     parent::__construct(); 
}  
public function get_Onedata($database){ 
    $this->set_database($database); 
       ... 
       ... 
    $query = $this->db->query($sql); 
} 

public function set_database($database){ 
    if($database = 'inter'){ 
    $this->db = $this->load->database('inter',TRUE); 
    } 
    else { 
    $this->db = $this->load->database('local',TRUE); 
    } 
} 

Это «путь», чтобы сделать это.

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