使用Codeigniter的模型中的Foreach循环问题

时间:2018-09-18 12:37:54

标签: codeigniter-3

型号:

public function fetch_emp()   
{ 
   $this->db->select('emp_id');
   $this->db->from('emp');
   $res=$this->db->get();
   foreach($res->result() as $row)
  {
      $id=$row->emp_id;
      $this->db->select('emp_name');
      $this->db->from('employee_master');
      $this->db->where('emp_id',$id);
      $res=$this->db->get();
      return $res->result();
   }
}

控制器:

public function employee()
{
  $result=$this->emp_model->fetch_emp();
  if($result!=false)
    $res['cmp_name']=$result;
  else
    $res['cmp_name']='NA';
}
  $this->loadViews("emp/emp_views", $this->global, $res , NULL);
}

查看:

<?php print_r($cmp_name);?>

一旦我从数据库中获取了ID,我所有的ID都没有问题,但是当我在foreach循环中使用它来搜索ID并从另一个数据库中获取它们的名称时,它仅显示第一个ID名称...例如:如果有5个id,但是当我搜索id从另一个数据库获取名称时,它仅显示第一个id名称。我不知道是什么问题,请帮助我。

1 个答案:

答案 0 :(得分:0)

您可以直接使用join()这样的方法来完成它(获取名称列表):

public function fetch_emp() 
{ 
$this->db->select('emp_name');
$this->db->from('emp');
$this->db->join('employee_master', 'employee_master.emp_id = emp.emp_id');
$res=$this->db->get();
    return $res->result();
}