如何将SQL数据库查询从模型传递到Controller,然后查看Code on Code Igniter 2.0.3?

时间:2011-09-14 14:03:24

标签: sql codeigniter

我试图将SQL值从Model传递给Controller,但是无法传递值。

这是我的模型文件中的代码:

类Has_alert扩展了CI_Model {

 function __construct()
{
    parent::__construct();
}

function __get_query() {

$sql = 'alerts_get_alerts';
$query = $this->db->query($sql);
$row = $query->first_row();
$header_data['hasAlert'] = $row->active;    
}

}

这是我的控制器文件中的代码:

类图表扩展了CI_Controller {

// Default Constructor 
    public function __construct() {
    parent::__construct();
    $this->load->helper('html');
    $this->load->model('Has_alert', '', TRUE);
    $this->Has_alert->__get_query();



    //$sql = 'alerts_get_alerts';
    //$query = $this->db->query($sql);
    //$row = $query->first_row();
    //$header_data['hasAlert'] = $row->active;


}


public function index()
{

//Data Arrays
$this->load->helper('html');
$header_data['page_title'] = 'Title';
$header_data['tabid'] = "home";


//Load the headtop.php file and get values from data array
$this->load->view('includes/headertop.php', $header_data);
$this->load->view('homepage');
$this->load->view('includes/newfooter.php');

}

我在我的视图文件中收到此错误消息:

遇到PHP错误

严重性:注意

消息:未定义的变量:hasAlert

文件名:includes / headertop.php

行号:184

有谁知道问题是什么?谢谢。

1 个答案:

答案 0 :(得分:0)

模型

function __get_query() {
    $sql = 'alerts_get_alerts';
    $query = $this->db->query($sql);
    $row = $query->first_row();
    return $row->active;    
}

控制器

public function index(){
    $this->load->model("Has_alert");
    //Data Arrays
    $this->load->helper('html');
    $header_data['page_title'] = 'Title';
    $header_data['tabid'] = "home";
    $header_data['hasAlert'] = $this->Has_alert->__get_query();
    //Load the headtop.php file and get values from data array
    $this->load->view('includes/headertop.php', $header_data);
    $this->load->view('homepage');
    $this->load->view('includes/newfooter.php');
}

我假设像“alerts_get_alerts”这样的东西是伪代码。