Codeigniter没有将数组或对象从控制器传递到视图

时间:2014-12-10 13:15:49

标签: php arrays codeigniter object view

我遇到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($个);作为未定义的变量响应:帖子

任何帮助都将不胜感激。

谢谢。

2 个答案:

答案 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);
}