Строка для объекта даты PHP Laravel Carbon

Как сделать строку даты объектом даты в PHP с помощью Carbon?

$minTime = DB::table('order') 
            ->select('order_creation_date', 'restaurant_id')
            ->where('restaurant_id', '=', '70')
            ->orderBy('order_creation_date', 'asc')
            ->first();

            $m = $orderDay -> month;
            $d = $orderDay -> day;
            $y = $orderDay -> year;

    $y = (int)$y;
    $d = (int)$d;
    $m = (int)$m;

    $orderDay = $minTime -> order_creation_date;
    var_dump($orderDay);

Ошибка:

Trying to get property of non-object

Нормальное значение строки:

string(19) "2016-02-05 14:51:30"

Есть идеи, как это исправить? Я думаю, мне нужно сделать строку для даты объекта. Спасибо.


person Arnas Puidokas    schedule 01.08.2016    source источник


Ответы (2)


Использование свойства $dates в модели Order:

protected $dates = ['order_creation_date'];
person revo    schedule 01.08.2016
comment
Он возвращает объект Carbon при работе с order_creation_date. Почитай про Карбон. @ArnasPuidokas - person revo; 01.08.2016
comment
Это не отстой. Я специально сказал на разговорном персидском. @ВикторСтрибижев - person revo; 02.08.2016

Ваша ошибка наверняка в строке 2

Измените порядок кода:

$minTime = DB::table('order') 
        ->select('order_creation_date', 'restaurant_id')
        ->where('restaurant_id', '=', '70')
        ->orderBy('order_creation_date', 'asc')
        ->first();

$orderDay = $minTime -> order_creation_date;

        $m = $orderDay -> month;
        $d = $orderDay -> day;
        $y = $orderDay -> year;

$y = (int)$y;
$d = (int)$d;
$m = (int)$m;


var_dump($orderDay);

или при доступе к датам с использованием фасада БД он, вероятно, не возвращает экземпляр углерода. Пытаться ..:

$orderDay = Carbon::createFromFormat("Y-m-d H:i:s",$minTime -> order_creation_date);

В качестве альтернативы вы должны предпочесть использовать свойство $dates в своей модели Order.

protected $dates = ['order_creation_date'];
person Huzaib Shafi    schedule 01.08.2016
comment
@arnas-puidokas Обновлено.. Проверить еще раз - person Huzaib Shafi; 01.08.2016
comment
Завершающие данные в ошибке - person Arnas Puidokas; 01.08.2016
comment
@arnas-puidokas Пожалуйста, объясните ошибку. Подробное описание и номер строки. так далее - person Huzaib Shafi; 01.08.2016
comment
в строке Carbon.php 425 в строке Carbon::createFromFormat('Y-n-j G:i:s', '2016-02-05 14:51:30-8-1 11:53:58', null) в строке Carbon.php 368 в Carbon::create('2016-02-05 14:51:30') в строке 77 DashboardController.php в DashboardController->getDashboardView() - person Arnas Puidokas; 01.08.2016
comment
@arnas-puidokas О.. используйте следующую инструкцию ... $orderDay = Carbon::createFromFormat("Y-m-d H:i:s",$minTime -> order_creation_date); - person Huzaib Shafi; 01.08.2016