2017-03-17 1 views
0

내 코드는 다음과 같다 :지금은 datetime을 어떻게 비교할 수 있습니까? Laravel 5.3

foreach ($orders as $order) 
{ 
    date_default_timezone_set('Asia/Jakarta'); 
    $now_at = date("Y-m-d H:i:s"); 
    $delivered_at = $order->delivered_at->toDateTimeString(); 
    $delivered_after_1d = strtotime("+1 day", strtotime($delivered_at)); 
    $delivered_after_1d = date('Y-m-d H:i:s', $delivered_after_1d); 
    if($now_at > $delivered_after_1d) 
    { 
     ... 
    } 
} 

작동하지만 laravel를 사용하여 변경합니다. 예를 들어 Carbon::now()을 사용하십시오. 하지만 혼란 스럽네요.

저를 도울 사람이 있습니까?

참고 :

delivered_at : 데이터 유형 = 날짜

+0

여기에 답하십시오. http://stackoverflow.com/questions/34616429/laravel-5-time-difference – Scaffold

답변

0

당신은 protected $dates = ['array','of','fields'] 에서 모델의 필드 이름을 추가 할 수 있습니다 그리고 그들은 당신이 쓸 수있는 탄소 인스턴스

1

에 주조 될 것이다. 희망이

foreach ($orders as $order) 
{ 
    date_default_timezone_set('Asia/Jakarta'); 
    $now_at = Carbon::now(); 
    $delivered_at = $order->delivered_at->toDateTimeString(); 
    $delivered_after_1d = $delivered_at->addDays(1); 
    if($now_at > $delivered_after_1d) 
    { 
    ... 
    } 
} 

는 또한 컨트롤러의 시작 부분에 use Carbon\Carbon; 쓰기 문제가 해결됩니다.