Как использовать мутаторы даты или углерода в SQL-запросах

Если у меня есть sql-запрос, возвращаемый из DB:: Выберите, как я могу вернуть объекты 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 ответ

Решение

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

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

$timestamp = new Carbon\Carbon($row->created_at);
$timestamp->timezone(Auth::user()->timezone);
Другие вопросы по тегам