我有 2 个表从 1 个数据库连接,我需要从"kategori"
表中获取"kategori"
列"artikel"
表连接。我无法得到"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>
对不起,我的英语不好
您需要定义要使用的连接,例如左,右,内,外
$this->db->join('kategori', 'kategori.id_kategori = artikel.id_kategori');
replace with
$this->db->join('kategori', 'kategori.id_kategori = artikel.id_kategori','left');
请尝试这个 我希望你的代码有问题。
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', 'left'); // You need to define which Join you are going to use like left, right, inner, outer
return $this->db->get()->result_array();
}
return $this->db->get_where('artikel',array('id'=>$id))->row_array();
}
如果这不起作用,请引起我的注意,让我检查解决此问题的另一种方法。谢谢