0

私はこれについて多くの議論を読みましたが、運がありません。

私はコントローラーを持っています:

function get_list() {

$data['promoname'] = $this->Default_model->get_promo($this->input->post('year'));

$this->output->cache(10);

// Render view

$this->layout->render(get_platform().'/promo/promo_view', $data);

}

And in my Default_model:

function get_promo($year = NULL) {

$this->db->cache_on();

//query here

}

ページが初めて読み込まれると、データは完全に表示されます。しかし、キャッシュされているかどうかを確認するために再度ロードしようとすると、何も表示されず、空白の白いページが表示されます。エラー報告が有効になっています。

の下にファイルが作成されましたapplication/cache。つまり、権限の問題はありません。しかし、作成されたファイルには「1357184142TS--->」が含まれています。

$this->db->cache_on() を削除しようとしましたが、動作は同じです。問題に見えるのは?

4

3 に答える 3

0

ビュー ファイルをチェックして、タグが欠落していないか、途中で値が中断されていないかを確認します。

于 2013-01-03T04:23:26.327 に答える
0

ドキュメントhttps://ellislab.com/codeigniter/user-guide/general/caching.htmlによると:

CodeIgniter が出力用のコンテンツを保存する方法のため、キャッシュは、ビューを使用してコントローラーの表示を生成している場合にのみ機能します。

だからあなたは電話する必要があります:

$this->load->view(get_platform().'/promo/promo_view', $data)

それ以外の

$this->layout->render(get_platform().'/promo/promo_view', $data);

于 2015-07-30T14:00:46.717 に答える