从laravel的时间戳获取日期

时间:2015-08-03 06:39:26

标签: php laravel

如何从" 2015-07-31 06:03:21"使用Laravel查询构建器? 在使用DATE()的普通查询中,我们可以轻松获得日期,但我不知道如何在Laravel查询构建器中使用DATE()。请检查下面给出的代码示例并更正我?

普通查询

SELECT DATE('2015-07-31 06:03:21'), customer_id FROM customer_histories

Laravel查询生成器

$customerhistory = Customerhistory::where('customer_id', 1)
            ->select('freetext', 'DATE(created_at)')
            ->get();

3 个答案:

答案 0 :(得分:1)

您可以使用DB::raw('something')。在这种情况下,您的原始输入将被视为实际SQL的一部分。

这是你可能想尝试的东西:

$customerhistory = Customerhistory::where('customer_id', 1)
    ->select('freetext', DB::raw('DATE(`created_at`)'))
    ->get();

更多详细信息,另一个例子是here

此外,您似乎还在使用雄辩。您可能想查看mutators section

答案 1 :(得分:0)

您可以使用DB::raw()执行此操作,但如果您只是选择它,为什么不直接使用created_at?默认情况下,Eloquent will convertcreated_atupdated_at列添加到Carbon的实例,以便您可以在代码中执行此操作:

$customerhistory = Customerhistory::where('customer_id', 1)
            ->select('freetext', 'created_at')
            ->get();

dd($customerhistory[0]->created_at->toDateString());

答案 2 :(得分:0)

$customerhistory = Customerhistory::where('customer_id', '=', '1')
            ->select('freetext', DB::raw('DATE(`created_at`)'))
            ->get();

谢谢。