我如何在SQL查询中使用日期更改器或碳

时间:2014-09-09 09:45:55

标签: php laravel php-carbon

如果我有一个从DB :: Select返回的SQL查询,我如何为我的created_at属性返回Carbon对象?

我希望能够做到这样的事情:

$result = DB::select(DB::raw("SELECT X,Y,Z,tabletwo.created_at FROM tableone LEFT JOIN tabletwo ON tableone.X = tabletwo.foreignX"));

   foreach($result as $row)
   {

      $row->created_at->timezone(Auth::user()->timezone);

   }

我已经尝试在我的模型上将字段添加到getDates方法中,但它没有做出不同的假设,因为它是一个自定义的sql查询,而不是返回一个对象。

1 个答案:

答案 0 :(得分:0)

DB::select返回stdObjects数组,而不是Eloquent Models,因此您无法使用Eloquent功能。

假设created_at是MySQL时间戳/日期字段,您可以这样做:

$timestamp = new Carbon\Carbon($row->created_at);
$timestamp->timezone(Auth::user()->timezone);