我的数据库中有两个表,监控[pk = idMonitor]
和monitor_data [pk = idMonitor_data]
。
Please click you can see the tables fields here。如您所见,我将数组数据放在表monitor_data中。
我想更新每个idinventory where monitor_data.idMonitor = $id
的条件。
但首先我想要显示' monitordate' idinventory'和'条件'的当前数据。从数据库到我的看法。
我的控制器
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
请帮助我,我不知道我的控制器有什么问题:(我已经搜索了解决方案,但没有一个工作。:(
答案 0 :(得分:0)
如果你能获得monitordate却无法获得条件,这很奇怪。
你可以编辑你的控制器吗?
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);
}