0

私は現在、多くの日付を扱っていることを意味するプロジェクトに取り組んでおり、ユーザーが次の週のさまざまなイベントの概要を確認できる 1 つのビューがあります。

ビューには、複数のアカウントの複数のイベントが表示されます。

私が直面している問題は、ビューにかなり複雑な 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 に答える