修改数据库值
问题描述:
这是我目前的函数来获取所有用户:修改数据库值
function get_all() {
return $this->db->get($this->tableName)->result();
}
现在我有一个“前的时间”改变MySQL的DATETIME到
timespan(human_to_unix($datetime),time());
功能
如何在将数组传递给控制器和视图之前更改get_all生成的数组中的所有mysql日期?
其次, 在模型中这样做是正确的还是应该在控制器中完成?
答
我会说这个模型很好。
您有许多选项可简单地遍历数组 (例如,
$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;
}
我不能告诉什么功能timespan
和human_to_unix
正是这么做。
为什么不尝试循环? – safarov 2012-03-21 11:01:21
@safarov我不确定在模型类中是否允许循环该数组 – Simon 2012-03-21 13:13:35