【问题标题】:laravel get microtime from databaselaravel 从数据库中获取 microtime
【发布时间】:2015-08-11 01:51:00
【问题描述】:

在 MySQL 数据库中,我有一个日期时间字段,如下所示:

2015-05-12 13:58:25.000508

但是当我执行这个查询时,例如:

    $query = SdkEvent::with('sdkEventStack');

            if (isset($params['CO_ID']) && $params['CO_ID'] != "") {
                $query->where('CO_ID', $params['CO_ID']);
            }

            if (isset($params['APP_ID']) && $params['APP_ID'] != "") {
                $query->where('APP_ID', $params['APP_ID']);
            }

            if (isset($params['app_ip']) && $params['app_ip'] != "") {
                $query->where('SDKEVENT_IP', 'LIKE', $params['app_ip'].'%');
            }

            if (isset($params['PLACE_ID']) && $params['PLACE_ID'] != "") {
                $query->where('PLACEMENT_ID', $params['PLACE_ID']);
            }

    $sdks = $query->get();

我得到这样的日期时间:2015-05-12 13:58:25 为什么我没有得到微秒?

【问题讨论】:

  • 你在 MySQL 中存储的日期类型是什么类型的?

标签: php mysql laravel microtime


【解决方案1】:

这不是 Laravel 的问题,而是 Laravel 用于进行数据库查询的 PDO 的问题。

有关更多信息,请参阅另一个问题:PHP How to return datetime(6) from Mysql?

或实际的错误报告

http://grokbase.com/t/php/php-bugs/11524dvh68/php-bug-bug-54648-new-pdo-forces-format-of-datetime-fields

您可以使用DB::select() 语句来拉取微秒。例如:

$test = DB::select("SELECT id, DATE_FORMAT(date, '%Y-%m-%d %H:%i:%f') as date FROM test");

【讨论】:

    猜你喜欢
    • 2019-08-15
    • 1970-01-01
    • 2017-08-13
    • 1970-01-01
    • 2015-11-26
    • 2022-11-21
    • 2019-11-12
    • 2020-12-28
    • 2021-08-31
    相关资源
    最近更新 更多