мой запрос работает с отметкой времени, но выдает ошибку с указанием даты и времени - PullRequest
1 голос
/ 03 июля 2019

У меня есть таблица mysql со следующими столбцами

имя | Dateone | почта | created_at

поле dateone имеет тип даты

поле "create_at" имеет тип отметки времени

в моем контроллере у меня есть способ сгруппировать результат по дате

$users = Post :: orderBy ('dateone') -> get () -> groupBy (function ($ item) {

 return $ item-> created_at-> format ('Y-m-d');

работает, но , когда я заменяю

вернуть $ item-> create_at -> format ('Y-m-d');

от

return $ item-> dateone -> format ('Y-m-d');

У меня следующая ошибка:

Вызов функции-члена формата () в строке

есть ли решение через Carbon или другое решение моей проблемы?

спасибо за любую помощь.

1 Ответ

0 голосов
/ 03 июля 2019

Да, по умолчанию create_at и updated_at находятся в Carbon Instance . Вы можете использовать dateone в качестве create_at, проанализировав его для экземпляра carbon.

$convertedDateOne = null;
if(!empty($item->dateone)){
    $convertedDateOne = Carbon::parse($item)->format('Y-m-d');
}

Если вы хотите, чтобы dateone являлся экземпляром Carbon каждый раз, вы можете привести в формате datetime в модели.

Предположим, название модели Item.php

class Item extends Model{
   protected $dates = ['dateone'];
}
...