这是我目前获取所有用户的功能:
function get_all() {
return $this->db->get($this->tableName)->result();
}
现在我有一个将mysql DATETIME更改为'time ago'的功能
timespan(human_to_unix($datetime),time());
如何在将get_all传递给控制器和视图之前更改数组中的所有mysql日期时间?
其次, 在模型中执行此操作是正确的还是应该在Controller中完成?
答案 0 :(得分:1)
我想说这个模型很好。
您有许多选项可以简单地遍历数组 例如
$results = $this->db->get($this->tableName)->result();
foreach($results as $key=>$value)
{
if($key=="<name of date time field>")
{
$results[$key]=timespan(human_to_unix($value),time());
}
}
返回$ results;
如果5.3 php 使用带有匿名函数的array_walk
$results = $this->db->get($this->tableName)->result();
array_walk($results, function (&$v, $k) { if($k=="<name of date time field>"){$v=timespan(human_to_unix($v),time()} });
答案 1 :(得分:0)
我想有点像:
function get_all() {
$arr = $this->db->get($this->tableName)->result();
foreach(array_keys($arr) as $h)
$arr[$h]->datetime = timespan(human_to_unix($arr[$h]->datetime),time());
return $arr;
}
我无法确定timespan
和human_to_unix
的功能是什么。