0

我正在使用 CodeIgniter 构建一个 webapp,但我是新手。我有不同部分的首页,这些部分使用数据库中的不同数据数组。

我想要的是从基本控制器加载数据一次并扩展这个控制器并在多个视图中重用这些数据。

我不想做的是在其他控制器上重复相同的数据库调用。

这甚至可能吗?

我现在拥有的是:

class MY_Controller extends CI_Controller
{
    public function __construct()
    {
      parent::__construct();
      $data['somevar'] = $this->some_model->get();
    }

}

我想在页面的某个部分的 foreach 循环中使用 $somevar 。

注意:我使用的是模板库。

任何帮助将不胜感激。

4

1 回答 1

1

您需要了解的是,页面的每次刷新都会再次加载整个 CI 应用程序(因此每次页面加载都会发生构造函数调用)。因此,从一个视图到下一个视图的数据调用没有持久性(假设您确实在谈论一个新页面)。

您必须想出另一种方法来持久化数据——在 cookie、客户端存储、会话或服务器端缓存中。这样,数据将在不同的页面视图中可用,而无需一遍又一遍地请求。

于 2013-02-21T16:47:22.620 回答