我正在尝试使用CodeIgniter构建非常基本的模型 - > controller->视图结构。我宁愿使用模型(和模型函数,更重要的是)和控制器,而不是在每个视图中执行查询。
首先,这是模型:
class Leads extends Model {
function Leads()
{
parent::Model();
}
function fetch_leads()
{
$query = $this->db->get('leads', 10);
return $query->result();
}
}
这是控制器,只有相关的功能是相关的功能:
function view()
{
$this->load->model('Leads', '', TRUE);
$data['query'] = $this->Leads->fetch_leads();
$this->load->view('html_head');
$this->load->view('leads/view', $data);
$this->load->view('html_foot');
}
我认为问题出在这一行,我可能无法正确地将数据传递给视图:
$data['query'] = $this->Leads->fetch_leads();
现在,视图:
print_r $data;
我提到基本的吗?我只是想让它拉出每个字段并从数据库中打印出来。是的,数据库配置正确,是的,数据库中有数据。
编辑:模型没有自动连接到数据库,所以我添加了该参数。该模型仍未返回值。
答案 0 :(得分:2)
它不会像你那样工作。
return $query->result()
会返回行数组。为了正确地传递此数组以进行查看,您需要这样做:
$view_data = array(
'leads' => $leads,
);
$this->load->view('leads/view', $view_data);
在View中发生的是,所有$view_data
数组元素都转换为本地(用于视图)变量。因此,您的控制器$view_data['leads']
中的内容只会在您的视图中显示为$leads
。
答案 1 :(得分:0)
您必须将关联数组传递给$this->load->view()
方法。
试试这个:
$leads = $this->Leads->fetch_leads();
$data["leads"] = $leads;
$this->load->view('html_head');
$this->load->view('leads/view', $data);
$this->load->view('html_foot');
答案 2 :(得分:0)
将数据传递给视图可能会出现问题。尝试将$leads
放入数组中。
实施例。 $data['leads'] = $this->Leads->fetch_leads();