2014-09-09 6 views
0

Если у меня есть запрос sql, возвращающийся из DB :: Выберите, как я могу вернуть объекты Carbon для моих атрибутов created_at?Как использовать мутаторы даты или углерод в sql-запросах

я хотел бы быть в состоянии сделать что-то вроде:

$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 на моих моделях, но это не делает different- я считать, так как сво пользовательский SQL-запрос и не возвращать объект.

ответ

0

DB::select возвращает массив stdObjects, а не Красноречивый Models, поэтому вы не можете использовать Червеобразные функции.

Предполагая created_at является MySQL метка времени/даты поле, вы можете сделать это:

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

Это то, что я в конечном итоге делает, но больше инлайн для просмотра. {{Carbon \ Carbon :: createFromFormat ('Y-m-d H: i: s', $ token-> redeemed_at) -> часовой пояс (Auth :: user() -> часовой пояс)}} –