我遇到codeigniter从控制器到视图传递数组和对象的问题。 数据从模型中的数据库中提取并在控制器中可见(var_dump显示数据存在),但不知何故,它没有传递给视图。
这是控制器代码
public function index()
{
$this->load->view('welcome_message');
$this->load->model('post_model');
$data['posts'] = $this->post_model->get_all_posts();
$this->load->view('welcome_message', $data);
}
在此之后,在视图方面,$ posts不可用。 后续代码var_dump($个);作为未定义的变量响应:帖子
任何帮助都将不胜感激。
谢谢。
答案 0 :(得分:0)
您正在加载视图两次。
public function index()
{
$this->load->view('welcome_message'); // first time, here you are not sending any data
$this->load->model('post_model');
$data['posts'] = $this->post_model->get_all_posts();
$this->load->view('welcome_message', $data);// second time
}
答案 1 :(得分:0)
您正在加载视图两次,一次是在变量定义之前,一次是在变量定义之后。
您的代码应如下所示:
public function index()
{
$this->load->model('post_model');
$data['posts'] = $this->post_model->get_all_posts();
$this->load->view('welcome_message', $data);
}