我有两个表要查询。一个表包含来自诊所的记录,而另一个表包含来自实验室的记录。这会导致(消息:尝试获取非对象的属性)。我错过了什么?
我想查看在诊所表中但不在实验室表中的PID。
我的控制器:
function queries(){
$data['results'] = $this->main_model->queries();
$this->load->view('queries', $data);
}
我的模型:
function queries(){
$this->db->select('*');
$this->db->from('clinic');
$this->db->where('participantID NOT IN (SELECT participantID FROM lab)', NULL, FALSE);
$results = $this->db->get();
return $results;
}
最后,我的观点:
<?php
foreach($results as $row){
echo " <tr > <td> $row->participantID </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td></tr>";
}
?>
控制器:
function getall(){
$this->load->model('result_model');
$data['query'] =$this->result_model->result_getall();
print_r($data['query']);
die();
$this->load->view('result_view', $data);
}
型:
function result_getall(){
$this->db->select('*');
$this->db->from('tblanswers');
$this->db->join('credentials', 'tblanswers.answerid = credentials.cid', 'left');
$query = $this->db->get();
return $query->result();
}
视图:
<?php foreach ($query as $row): ?>
<?php echo $row->answerA;?><br>
<?php endforeach; ?>
问题出在您的模型上。您没有返回正确的数组结果。您必须首先使用 get()
来构建查询并将其放入像 $q
这样的变量中,然后将该变量与 result()
方法一起使用以获取结果,如下所示:
$q = $this->db->get();
return $q->result();