Codeigniter从数据库加载两个不同的数据数组,第二个数据数组依赖于第一个数据并加载到视图中

时间:2013-01-30 13:15:23

标签: php codeigniter

这是我的代码:

我的模特: My_model

function load_modules(){

$modules = $this->db->query('SELECT name FROM module');
$result = $modules->result_array();

return $result;

}

function load_lesson($modname){

$lessons = $this->db->query(
'SELECT lesson.name 
FROM lesson 
INNER JOIN module 
ON module.id = lesson.moduleid and module.name = $modname'
); 

$result = $lessons->result_array();

return $result;

}

我的控制器: My_controller

$this->load->model('My_model');
$arraydata['values'] = $this->My_model->load_modules();

在我看来:

foreach($values as $modulename){

load_lesson($modulename); // This is the method from my model which
// I want to be access in my controller in a way that will work like this.

}

我想要的是能够获得每个模块的所有课程。但我无法弄清楚在控制器中做到这一点的方法。希望你能帮助我。谢谢!

1 个答案:

答案 0 :(得分:1)

不要尝试从视图中调用模型的方法。在控制器中尝试这样的事情......

$this->load->model('My_model');
$arraydata['values'] = $this->My_model->load_modules();
foreach($arraydata['values'] as $key=>$value){
  $arraydata['values'][$key]['lessons']=$this->My_model->load_lesson($value);
}