2016-08-01 9 views
0

Wie erstellt man Date-String zum Date-Objekt in PHP mit Carbon?String zum Datum Objekt PHP Laravel 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); 

Fehler:

Trying to get property of non-object 

Normalwert von string:

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

Irgendwelche Ideen, wie es zu beheben? Ich denke, ich brauche ein String-to-Date-Objekt. Vielen Dank.

Antwort

0

Ihr Fehler ist sicher auf der Linie 2

Ändern der Reihenfolge des Codes:

$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); 

oder wenn die Daten mit DB Fassade Zugriff, es wahrscheinlich nicht eine Carbon-Instanz zurück. Versuchen ..:

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

Alternativ sollten Sie $dates Eigenschaft in Ihrem Order Modell verwenden möchten ..

protected $dates = ['order_creation_date']; 
+0

funktioniert nicht; // –

+0

@ arnas-puidokas Aktualisiert .. Erneut prüfen –

+0

Nachlaufende Daten in Fehler –

1

$dates Eigenschaft in Order Modell:

protected $dates = ['order_creation_date']; 
+0

für mich funktioniert es nicht/ –

+0

Es gibt ein 'Carbon'-Objekt zurück, wenn es um 'order_creation_date' geht. Lesen Sie über Carbon. @ArnasPuidokas – revo

+0

Es ist nicht zu saugen. Ich sagte nur im umgangssprachlichen Persisch, absichtlich. @ WiktorStribiżew – revo