【问题标题】:How to change received data in Model?如何更改模型中接收到的数据?
【发布时间】:2011-10-03 10:56:41
【问题描述】:

我在模型中有一个典型的函数,它从表“订单”接收“时间”:

public function get_time() {
    $result = array();
    $result = DB::select('id', 'time', 'description')->from('orders')->execute();
    return $result;
}

问题是,“时间”字段以格式 (TIME) 存储在 MySQL 中:'HH:mm:ss',例如:11:45:00。

但我不需要秒,所以我可以:date('H:i', strtotime($time)); 在视图中执行此操作不是一个好主意。我需要在模型或控制器中进行此转换。 当然:

$result['time'] = date('H:i', strtotime(result['time'])); 

不会工作;)

【问题讨论】:

    标签: php model-view-controller model kohana


    【解决方案1】:

    在视图中这样做是完美的,它正在格式化模型结果以正确显示。

    $result['time'] = date('H:i', strtotime(result['time'])); 
    

    语法错误,您忘记在result 前加上美元符号。


    zombor 说的也很重要(我错过了)

    $result 是一个数据库结果迭代器对象,而不是单个结果

    【讨论】:

    • 另外,$result 是一个数据库结果迭代器对象,而不是单个结果。
    【解决方案2】:

    看看TIME_FORMAT函数:

    SELECT TIME_FORMAT('11:45:00', '%H:%i')   
    

    结果为@​​987654322@。像这样更改代码:

    $result = DB::select('id', array('TIME_FORMAT("time", '%H:%i')', 'formatted_time'), 'description')->from('orders')->execute();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-01-19
      • 1970-01-01
      • 1970-01-01
      • 2015-05-13
      • 1970-01-01
      • 2021-04-10
      • 1970-01-01
      相关资源
      最近更新 更多