在我的主控制器中,我有一堆函数可以访问同一组代码。我一直试图通过制作一个可重用的函数来减少控制器的大小,该函数抓取我需要的数据然后将其传递给其他函数调用的函数。 _getSales()函数将在同一控制器中的大约30个函数中使用。基本上不是将这些行添加到每个函数中。当我完成时,我可能会在该私有函数中添加大约5个其他变量。现在,视图中的销售变量显示为空。
现有控制器
function _getSales() {
$sales = $this -> sale_model -> getSalesById();
$data['sales'] = $sales;
}
function home() {
$this -> _getSales();
$data['pageName'] = 'home';
$this -> load -> view($currentPage, $data);
}
答案 0 :(得分:3)
您的home()函数无法访问_getSales()函数中的data['sales']
变量。所以试试
function _getSales() {
$sales = $this -> sale_model -> getSalesById();
return $sales;
}
function home() {
$data['sales'] = $this -> _getSales();
$data['pageName'] = 'home';
$this -> load -> view($currentPage, $data);
}
此外,模型函数看起来像是通过id获取销售额,而且您似乎没有向其传递任何参数