我有2个表从1个数据库中联接,我需要从与"kategori"表联接的"kategori"表中获得"artikel"列。我找不到"kategori"栏,它说

错误


  未定义索引:kategori


控制器

public function edit($id){
        $this->load->helper('form');
        $this->load->library('form_validation');

        $this->form_validation->set_rules('judul', 'judul', 'required');
        $this->form_validation->set_rules('konten','konten','required');
        $this->form_validation->set_rules('id_kategori','id_kategori','required');

        if($this->form_validation->run()===false){
            $data['artikel'] = $this->m_daftar->ambil($id);
            $this->load->view('v_daftar_edit',$data);
        }else{
            $this->m_daftar->update($id);
            redirect('/daftar','refresh');
        }
    }


楷模

public function ambil($id = FALSE){
    if($id===FALSE){
        $this->db->select('*');
        $this->db->form('artikel');
        $this->db->join('kategori', 'kategori.id_kategori = artikel.id_kategori');

        $query = $this->db->get();
        return $query->result_array();
    }
    $query = $this->db->get_where('artikel',array('id'=>$id));
    return $query->row_array();
}


这是我的观点,在编辑表格时我需要它来显示值

视图

<select name="id_kategori" id="id_kategori" class="form-control">
    <option selected><?php echo $artikel['kategori']; ?></option>

</select>


对不起,我的英语不好

最佳答案

请尝试此操作,希望您的代码中有问题。

public function ambil($id = FALSE){

    $select = ($id === FALSE) ? "artikel.*, kategori.kategori AS kategori" : "*";
    $this->db->select($select);
    $this->db->form('artikel');

    if($id===FALSE){

        $this->db->join('kategori', 'artikel.id_kategori = kategori.id_kategori');

        return $this->db->get()->result_array();
    }

     return $this->db->get_where('artikel',array('id'=>$id))->row_array();
}


如果这样做不起作用,请引起我的注意,让我检查解决此问题的另一种方法。谢谢

07-24 20:40