代码之家  ›  专栏  ›  技术社区  ›  sdot257

Codeigniter:从视图调用方法

  •  1
  • sdot257  · 技术社区  · 14 年前

    这是我的模型,它所做的是从用户那里提取一个特定的帖子。每个帖子也可能有注释,这些注释存储在名为 comments . 我把所有的东西都处理好了,我可以把帖子和评论一起显示出来。问题是,每个评论都有一个 post_date 在发表评论时显示。我需要调用函数,将日期“转换”为类似于“3周前”的内容 TimeAgo 位于我的 user_model.php 第页。摘要显示了一个名为 data 这实际上是针对post的,注释嵌入在数组中,我在视图中循环遍历它。

    所以问题是,有没有更好的方法来处理这个问题,或者我必须打电话给 很久以前 方法从视图页中?

    注意,我使用的是mongodb,但不管是mongodb还是mysql。同样的事情。。。

    user_model.php用户

    $query = array("_id" => new MongoId($plan_id), "username" => $username);
    $fields = array("plan_title", "comments", "post_date");
    
    $data = $collection_plans->findOne($query, $fields);
    $data['date'] = self::TimeAgo($data['post_date']->sec);
    $data['username'] = $username;
    
    return $data;
    
    2 回复  |  直到 14 年前
        1
  •  2
  •   Ross    14 年前

    如果我的理解是正确的,我会将TimeAgo方法放在一个库或助手中,然后在必要时(自动)加载并处理日期,然后从控制器中将其传递到视图。

    如果需要,这将允许您从另一个模型中访问该方法,或者从您的CI应用程序的任何其他部分访问,而不仅仅是从内部访问 user_model.php用户

        2
  •  1
  •   mos fetish    14 年前

    从控制器调用model方法并将其放入变量中。然后将变量传递给视图。

    推荐文章