codeigniter数据库信息控制器

时间:2016-09-09 07:27:21

标签: php codeigniter

我正在尝试从数据库中呈现页面信息。

我有数据库:

page | title   | description
main | Welcome | This is the main page

控制器获取页面数据并渲染视图

class Main extends CI_Controller {

    function __construct()
    {
        parent::__construct();
        $this->load->helper(array('url', 'html', 'assets'));
        $this->load->model('pages_model');
    }

    public function index() {

        // This is a page variable
        // in this case it will be "main"
       $page = strtolower(basename(__FILE__, '.php'));


        // Page data
        $data['pg'] =  $this->pages_model->page();

        // Render
        $this->load->view('templates/header', $data);
        $this->load->view('pages/main', $data);
        $this->load->view('templates/footer', $data);
    }

}

然后模拟我尝试获取特定页面的数据

    Class Pages_model extends CI_Model {

        function page()
        {
            $query = $this->db->select('*')->where('page', $page)->get('pages');
            return $query->result();
        }

    }

但我得到错误“未定义变量$ page in model”。我该如何解决?

1 个答案:

答案 0 :(得分:2)

您错过了在模型中传递“$ page”。更新您的代码如下:

在控制器中:

  // Page data
        $data['pg'] =  $this->pages_model->page($page);

在模特中

function page($page)