我有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();
}
如果这样做不起作用,请引起我的注意,让我检查解决此问题的另一种方法。谢谢