我的数据库中有两个表,监视器[pk = idMonitor]
和monitor_data [pk = idMonitor_data]
。
Please click you can see the tables fields here。如您所见,我将数组数据放在表monitor_data中。
我想更新每个idinventory where monitor_data.idMonitor = $id
的条件。
但是首先,我想显示数据库中“监视日期”,“标识库存”和“条件”的当前数据到我的视图。
我的控制器
public function edit($id=0) {
$dataa = $this->monitor_m->get_record(array('monitor_data.idMonitor'=>$id),true);
$this->data->monitordate = $dataa->monitordate;
$this->data->condition = $dataa->condition; <-line 20
$this->data->detail = $this->monitor_m->get_record(array('monitor_data.idMonitor'=>$id),true);
$this->template->set_title('SMIB | Monitoring')
->render('monitor_edit',$this->data);
}
我的看法(monitor_edit)
<?php echo form_open(site_url("monitor/ubah"),'data-ajax="false"'); ?>
<?php foreach ($detail as $items): ?>
<h4><?php echo '[ '.$items['idinventory'].' ] '?> </h4>
<?php echo form_label ('Condition : ');
echo form_dropdown('condition', array('good'=>'Good','broke'=>'Broken','lost'=>'Lost'),@$items['condition']);
?>
<?php endforeach; ?>
<?php echo form_close(); ?>
我的模特
class Monitor_m extends MY_Model {
public function __construct(){
parent::__construct();
parent::set_table('monitor','idMonitor');
}
public function get_record($id = 0,$get_user = FALSE) {
$this->db->where($id);
if ($get_user){
$this->db->join('monitor_data','monitor_data.idMonitor = monitor.idMonitor');
$this->db->join('inventory','inventory.idinventory = monitor_data.idinventory');
$this->db->join('user','user.id_user = monitor.id_user');
}
$data = parent::get_array();
return $this->improve_data($data);
}
这是我的问题:对于控制器中的monitordate代码,它的工作正常,但我不断收到条件代码错误
也许是因为我使用
'monitor_data.idMonitor'
作为我的参数$id
而不是idinventory。我如何使用2个参数,例如where idMonitor=$id and idinventory=$idiventory
。我解释正确吗?
严重性:通知消息:试图获取非对象的属性
文件名:controllers / monitor.php行号:20
请帮助我,我不知道我的控制器出了什么问题:(我一直在寻找解决方案,但这些都不起作用。:(
最佳答案
如果您可以获取监视日期但无法获得条件,这很奇怪。
您可以将控制器编辑成这样吗?
public function get_record($id = 0,$get_user = FALSE) {
$this->db->where($id);
if ($get_user){
$this->db->join('monitor_data','monitor_data.idMonitor = monitor.idMonitor');
$this->db->join('inventory','inventory.idinventory = monitor_data.idinventory');
$this->db->join('user','user.id_user = monitor.id_user');
}
// $data = parent::get_array();
$data = $this->db->result_array();
print_r($data);
echo $this->db->last_query();
exit;
return $this->improve_data($data);
}