2010-01-27 80 views
2

我正在尝试使用CodeIgniter构建非常基本的模型 - >控制器 - >视图结构。我宁愿使用模型(和模型函数,更重要的是)和控制器,而不是在每个视图中执行查询。这个模型为什么不返回任何值?

首先,这里的模型:

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(); 

现在,查看:

我提到过基本吗?我只是想把它拉到每一个领域,并从数据库中打印出来。是的,数据库配置正确,是的,数据库中有数据。

编辑:模型是不是自动连接到数据库,所以我加了该参数。该模型仍然没有返回值。

+0

您可以给出的任何错误或警告? – roflwaffle 2010-01-27 00:11:55

+0

如何开启错误日志记录? – dmanexe 2010-01-27 17:42:09

回答

2

它不是要去工作,你做的方式。

return $query->result()确实返回一行数组。为了正确地传递这个数组,查看您所需要做的是这样的:

$view_data = array(
    'leads' => $leads, 
); 
$this->load->view('leads/view', $view_data); 

在查看会发生什么情况是,所有的$view_data数组元素转换为本地(用于视图)变量。因此,在您的视图中,您的控制器中的什么是$view_data['leads']就成了$leads

+0

是的,+1 :) :)(使用微笑填写所需的字符) – 2010-01-27 00:30:10

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');

0

如何将数据传递给视图可能存在问题。尝试将$leads放入数组中。

Ex。 $data['leads'] = $this->Leads->fetch_leads();

相关问题