修改数据库值

问题描述:

这是我目前的函数来获取所有用户:修改数据库值

function get_all() { 
    return $this->db->get($this->tableName)->result(); 
} 

现在我有一个“前的时间”改变MySQL的DATETIME到

timespan(human_to_unix($datetime),time()); 
功能

如何在将数组传递给控制器​​和视图之前更改get_all生成的数组中的所有mysql日期?

其次, 在模型中这样做是正确的还是应该在控制器中完成?

+0

为什么不尝试循环? – safarov 2012-03-21 11:01:21

+0

@safarov我不确定在模型类中是否允许循环该数组 – Simon 2012-03-21 13:13:35

我会说这个模型很好。

您有许多选项可简单地遍历数组 (例如,

$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()); 
    } 
} 

return $ 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()} }); 

我想事端,如:

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; 
} 

我不能告诉什么功能timespanhuman_to_unix正是这么做。