我正在尝试从数据库中呈现页面信息。
我有数据库:
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”。我该如何解决?
答案 0 :(得分:2)
您错过了在模型中传递“$ page”。更新您的代码如下:
在控制器中:
// Page data
$data['pg'] = $this->pages_model->page($page);
在模特中
function page($page)