在我的控制器中,我从那里获取数据(工作正常):
$data['query'] = $this->db->query("MY DB QUERY");
$this->load->view('shopci_view', $data);
从类模型函数中获取数据:
class Shopci_model extends CI_Controller {
function __construct()
{
parent::__construct(); //model constructor
}
//display sale itmes on shopci_view.php
function sale_items()
{
$query = $this->db->query('MY DB QUERY - SAME AS ABOVE');
return $query->result();
}
}
新控制器功能:
//load model, auto connect to db
$this->load->model('Shopci_model', '', TRUE);
//Display items for sale
$data['query'] = $this->Shopci_model->sale_items();
$this->load->view('shopci_view', $data);
ERROR:
致命错误:在非对象中调用成员函数result() shopci_view
这是我切换到模型之前视图中的行(没有更改视图):
<?php foreach($query->result() as $row): ?>
感谢任何帮助。
谢谢。
答案 0 :(得分:1)
在模型中,将$ query作为result()数组返回给控制器。
所以你不能再使用'foreach $ query-&gt; result()' - 因为你已经这样做了;
这应该有效
<?php foreach($query as $row): ?>
如果您愿意,只需从
更改模型 return $query->result();
到
return $query;
答案 1 :(得分:1)
在模型中,您希望返回要传递给控制器的数据。所以在你的模型中你会有
function sale_items()
{
$query = $this->db->query(SAME AS OLD);
return $query;
}
然后您的控制器将是相同的,您的视图中的foreach应该是以下
<?php foreach ($query as $row): ?>