【发布时间】:2016-09-22 10:12:15
【问题描述】:
我对codeigniter很陌生。我有两个表,它们之间有一对多的关系。架构如下。一个是员工表,另一个是假期应用程序表
员工(身份证,姓名),
应用程序(id,start_date,end_date,reason,user_id),
计划是在显示start_date,end_date,reason and name 的单个页面中显示所有应用程序。为了查询application 表,我有一个管理员控制器,因为只有管理员可以查询application 表。还有另一个用户控制器来获取数据从员工表。在管理模型中,我有以下查询来获取所有应用程序
class Adminmodel extends CI_Model{
public function fetchAllRequest(){
$q=$this->db->get('application');
if($q->num_rows()){
return $q->result_array();
}else{
return false;
}
}
管理控制器如下:
class Admin extends CI_Controller{
public function index(){
$this->load->model('Adminmodel');
$data['request']=$this->Adminmodel->fetchAllRequest();
$this->load->view('admin/index',$data);
}
}
}
它给我带来这样的结果:
Array (
[0] => Array (
[id] =5
[start] => 05/04/2016
[end] => 05/12/2016
[reason] => sick [status] => Pending
[employee_id] => 1
我只给出一行。可能有数百个应用程序。我的问题是我需要从每一行中获取employee_id 并使用它从员工表中获取名称。
一个解决方案是我可以在视图内部的 foreach 循环中遍历每一行,并为每一行调用用户模型,传递员工 ID 并获取数据。
如果我这样做我需要在“VIEW”中使用用户模型,这不是 MVC 方法。我该如何解决这个问题。谢谢!!
【问题讨论】:
标签: php mysql codeigniter