2015-05-23 1 views
0

Я использую много DB для ответа на язык.Использовать db с ошибкой получения параметров

class Category extends CI_Model 
{ 

public function __construct() 
{ 

    parent::__construct(); 
    $this->lanDB = array(
     "KR" => $this->load->database('KR', TRUE), 
     "EN" => $this->load->database('EN', TRUE), 
     );           
} 

public function get(){ 

    $category = $this->lanDB['KR']->from('Category')->get()->result(); 
    foreach ($category as $value) { 
     $value->list = $this->lanDB['KR']->select('id AS series_id, subject')->from('Series')-> 
      where('category_id', $value->id)->get()->result(); 
    } 
    return $category; 
} 
} 

этот код хорошая работа. но использовать получить параметры вместо «КРА», как этого

class Category extends CI_Model 
    { 

    public function __construct() 
    { 

     parent::__construct(); 
     $this->lanDB = array(
      "KR" => $this->load->database('KR', TRUE), 
      "EN" => $this->load->database('EN', TRUE), 
     );           
    } 

    public function get(){ 

     $category = $this->lanDB[$_GET['country']]->from('Category')->get()->result(); 
     foreach ($category as $value) { 
      $value->list = $this->lanDB[$_GET['country']]->select('id AS series_id, subject')->from('Series')-> 
      where('category_id', $value->id)->get()->result(); 
     } 
     return $category; 
    } 
} 

или

class Category extends CI_Model 
{ 

    public function __construct() 
    { 

     parent::__construct(); 
     $this->lanDB = array(
      "KR" => $this->load->database('KR', TRUE), 
      "EN" => $this->load->database('EN', TRUE), 
     );           
    } 

    public function get(){ 

     $category = $this->lanDB[$this->input->get('country')]->from('Category')->get()->result(); 
     foreach ($category as $value) { 
      $value->list = $this->lanDB[$this->input->get('country')]->select('id AS series_id, subject')->from('Series')-> 
      where('category_id', $value->id)->get()->result(); 
     } 
     return $category; 
    } 
} 

Этого код не работает.

Пожалуйста, помогите мне.

+0

Использование контроллера передать значение для моделирования функции. –

ответ

1

Вам нужно передать параметры, как это от контроллера:

public function controller_function_name() { 

    $result = $this->model->get($this->input->get('country')); 

    $data = array(); 
    $data['result'] = $result; 
    $this->load->view('view_file_name', $data); 
} 

А в модели:

public function get($country){ 

$category = $this->lanDB[$country]->from('Category')->get()->result(); 
foreach ($category as $value) { 
    $value->list = $this->lanDB[$country]->select('id AS series_id, subject')->from('Series')-> 
     where('category_id', $value->id)->get()->result(); 
} 
return $category; 
} 
Смежные вопросы