【发布时间】:2017-03-12 23:25:12
【问题描述】:
我的数据库中有两个表,monitor [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”和“condition”的当前数据显示到我的视图中。
我的控制器
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 代码工作正常,但我不断收到 condition 代码错误
也许是因为我使用'monitor_data.idMonitor' 作为我的参数$id 而不是idinventory。我如何使用 2 个参数,例如 where idMonitor=$id and idinventory=$idiventory。
我解释得对吗?
严重性:通知消息:尝试获取非对象的属性
文件名:controllers/monitor.php 行号:20
请帮助我,我不知道我的控制器出了什么问题:(我正在寻找解决方案,但这些都不起作用。:(
【问题讨论】:
-
条件字段在monitor_data表中,不在monitor表中。
-
在文件命名和类命名方面不要遵循这种方式codeigniter.com/user_guide/general/styleguide.html#file-naming
-
@Shadow 是的,这就是我在模型中使用 get_record 函数的原因。我在上面添加了我的模型代码。
标签: php mysql arrays codeigniter