0

如果我有一个从 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 查询并且不返回一个对象。

4

1 回答 1

0

DB::select返回 array of stdObjects,而不是 Eloquent Models,所以你不能使用 Eloquent 特性。

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

$timestamp = new Carbon\Carbon($row->created_at);
$timestamp->timezone(Auth::user()->timezone);
于 2014-09-09T11:55:23.817 回答