在雄辩的数据库选择中将日期时间转换为时间戳

时间:2018-08-28 13:08:57

标签: sql database laravel eloquent

我正在使用Laravel的Eloquent数据库模型来从数据库中获取产品:

$product = ProductModel
            ::with('authors')
            ->select(
                'products.id', 'products.title', 'products.release_date'
            )
            ->first();

将release_date作为datetime存储在数据库中就可以了。出于特殊目的,我需要将日期时间转换为时间戳。

在select函数中是否可以做到这一点?

例如'products.release_date' AS convert(timestamp, products.release_date)吗?

2 个答案:

答案 0 :(得分:0)

您可以在选择方法中使用DB::raw(),也可以将selectRaw()作为独立方法。

链接: https://laravel.com/docs/5.6/queries#selects

答案 1 :(得分:0)

DB::raw("UNIX_TIMESTAMP(STR_TO_DATE(products.release_date, '%M %d %Y %h:%i%p'))")

这将以时间戳而不是日期时间返回输出。我认为这会做好您的工作。