我有3个名为frm_data_aset的表,frm_monitor,frm_lokasi
我想要,如果我插入frm_data_aset列monitor_aset与tabel监视器的下拉列表和来自tabel lokasi的lokasi。在表监视器列lokasi更新数据相同,我从tabel data_Aset中插入
我的结构:
enter image description here
enter image description here
现在我收到错误: 'where子句'中的未知列'frm_monitor' 更新
frm_monitor
SETlokasi_monitor
='123'WHEREfrm_monitor
为空
这是我的控制器:
{
$this->_rules();
if ($this->form_validation->run() == FALSE) {
$this->create();
} else {
$data = array(
'lokasi_aset' => $this->input->post('lokasi_aset',TRUE),
'monitor_aset' => $this->input->post('monitor_aset',TRUE),
);
$id= $this->input->post('kd_monitor', TRUE);
$data = array(
'lokasi_monitor' => $this->input->post('lokasi_aset'),
);
$this->M_monitor->update_lokasi($id,$data);
$this->M_data_aset->insert($data);
redirect(site_url('data_aset'));
}
}
这是我的模特M_monitor
function update_lokasi($id,$data){
$this->db->where('frm_monitor', $id);
$this->db->update('frm_monitor', $data);
}
这个我的下拉监视器在表单中插入data_aset
<option value="0">Pilih Monitor</option>
<?php
$monitor = $this->db->get('frm_monitor')->result();
foreach ($monitor as $row){
echo "<option value='$row->kd_monitor' ";
echo $row->kd_monitor==$monitor_aset?'selected':'';
echo ">". strtoupper($row->kd_monitor)."</option>";
}
?>
答案 0 :(得分:2)
尝试像这样更改模型查询
function update_lokasi($id,$data){
$this->db->where('id_monitor', $id);
$this->db->update('frm_monitor', $data);
}
在此之前确保控制器中'kd_monitor'的帖子不为空
答案 1 :(得分:0)
您应该将传递给$data
的{{1}}变量重命名,因为它将覆盖仅$this->M_monitor->update_lokasi()
数组传递给$data
的{{1}}在上面。或者甚至更好地尝试重命名$this->M_data_aset->insert()
以防止混淆。
修改您的控制器:
'lokasi_monitor'
并在条件查询上将$data
更改为{
$this->_rules();
if ($this->form_validation->run() == FALSE) {
$this->create();
} else {
$data_aset = array(
'lokasi_aset' => $this->input->post('lokasi_aset',TRUE),
'monitor_aset' => $this->input->post('monitor_aset',TRUE),
);
$id = $this->input->post('kd_monitor', TRUE);
$data_monitor = array(
'lokasi_monitor' => $this->input->post('lokasi_aset'),
);
$this->M_monitor->update_lokasi($id,$data_monitor);
$this->M_data_aset->insert($data_aset);
redirect(site_url('data_aset'));
}
}
:
'frm_monitor'