首页 > 解决方案 > 如何使用带返回的 Foreach 数据 Codeigniter

问题描述

我有桌子Claim

点击查看表格

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

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

但是我得到了所有的数据,而不是像我需要的那样过滤。我试图在模型中做到这一点:

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

不是唯一的表/别名:'claim'

这是我的控制器:

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>

我的语法有什么问题?

标签: phpmysqlcodeigniter

解决方案


尝试使用以下查询:

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();
}

推荐阅读