如何使用带有返回功能的Foreach数据Codeigniter

时间:2018-07-18 03:08:14

标签: php mysql codeigniter

我有Claim表,

Click to see table

我只需要获取特定名称的数据。例如:在我在模型中使用以下语法之前,我只想从id_claim = '2'获取数据:

function Tampil_claim_admin(){
return $this->db->get('claim');
}

但是我得到了所有数据,没有按照我的需要进行过滤。 我正在尝试在Model中执行此操作:

function Tampil_claim_admin(){
$this->db->select(" *"); 
$this->db->from(" claim,artist "); 
$this->db->where(" claim.artist_name = artist.username 
    AND artist.member_id = ".$this->session->userdata('ID'));
return $this->db->get('claim');
} 

我收到此错误:

  

错误号:1066

     

不是唯一的表格/别名:“声明”

这是我的控制器:

function index(){
  $data['claim'] = $this->m_admin_data->Tampil_claim_admin()->result();
  $this->load->view('admin/v_admin_claim',$data);
}

这是我的查看文件:

<tbody>
  <?php  foreach($claim as $data){  ?>
  <tr>
    <td>MSC-CLAIM-
      <?php echo $data->id_claim; ?>
    </td>
    <td>
      <?php echo $data->artist_name; ?>
    </td>
    <td>
      <?php echo date('d-m-Y',strtotime($data->claim_date)); ?>
    </td>

    <td>
      <?php echo $data->claim_amount; ?>
    </td>
    <td>
      <?php echo $data->status; ?>
    </td>

    <td>
      <?php echo anchor('Claim/edit_claim/'.$data->id_claim,'Edit'); ?> |
      <?php echo anchor('Claim/delete_claim/'.$data->id_claim,'Hapus'); ?>
    </td>

  </tr>
  <?php } ?>
</tbody>

我的语法出了什么问题?

1 个答案:

答案 0 :(得分:1)

尝试使用以下查询:

function Tampil_claim_admin() {
    $this->db->select("*");
    $this->db->from("claim c");
    $this->db->join('artist a', 'c.artist_name = a.username');
    $this->db->where("a.member_id = " . $this->session->userdata('ID'));
    return $this->db->get();
}