0

我目前正在从事一个项目,这意味着我正在处理很多日期,并且我有一个视图,用户可以在其中查看未来一周的各种事件的概述。

该视图显示多个帐户的多个事件。

我面临的问题是我的视图有一些非常复杂的 IF 语句(检查当前日期、检查事件日期、检查帐户 ID 与事件等)并且它开始看起来很混乱,我相信它可以完成更容易/更精简!

我将如何将 IF 语句移动到控制器?

我尝试查找 CI 的最佳实践,但没有发现任何有用的信息。

任何见解将不胜感激!

4

1 回答 1

1

我将有一个单独的函数(在控制器或库中)用于准备数据。这个函数只需要返回一个数组,这样就可以在 HTML 中构造数据,而不需要所有的条件检查。

这是一个数据准备库的示例,它不仅可以工作,因此您需要创建一个完整的库,它只是为了给您一个总体思路。

<?php
class prepare {
    function prep_page_data($page_id) {

        $output = array();

        $query = $this->ci->db->get_where("page_data", array("page_id" => $page_id));

        foreach($query->result_array() as $row) {
            $output = $row;
            //complete all addtional checks below
            if($row['datetime'] < date("Y-m-d 00:00:00")) {
                $output['archive'] = "old"
            }
            else {
                $output['archive'] = "new";
            }
            //you can add as many conditions as you like to complete the data collection.
        }

        return $output;

    }
}

?>
于 2012-09-28T13:31:15.837 回答