Почему карбоновый помощник не работает и выдает ошибку даты и времени? - PullRequest
0 голосов
/ 21 декабря 2018

Это приложение, созданное в Lavavel 5. У меня была таблица со значением дня, месяца и года рождения.Я запрашиваю таблицу, используя этот запрос:

  $tarikh = DB::table('itemregistrations')
            ->select('itemregistrations.lahir_dd', 'itemregistrations.lahir_mm', 'itemregistrations.lahir_yy')
            ->get();

dd ($ tarikh);произвести вывод:

Collection {#709 ▼
#items: array:1123 [▼
0 => {#681 ▼
  +"lahir_dd": 9
  +"lahir_mm": "June"
  +"lahir_yy": 1979
}
1 => {#670 ▶}
2 => {#680 ▶}
3 => {#713 ▶}

Я хочу рассчитать возраст, используя углерод, и вставить в коллекцию как возраст, используя карту массива:

 $tarikh->map(function ($detail) {
        $detail->age = \Carbon\Carbon::parse($detail->lahir_yy)->diffInYears();
        return $detail;
    }); 

Но эта ошибка появляется:

 DateTime::__construct(): Failed to parse time string (0) at position 0 (0): Unexpected character

он подсвечивает этот код:

  parent::__construct($time, $timezone);
    if (isset($locale)) {
        setlocale(LC_NUMERIC, $locale);
    }

Друг помог мне использовать эту скрипку и работает нормально .. но в приложении появляется ошибка.

 https://implode.io/i1GanD

Кто-нибудь знает, что является причиной этой ошибки конфликта?Попытка поиска по той же проблеме, но до сих пор нет решения.Спасибо

1 Ответ

0 голосов
/ 21 декабря 2018

Ошибка была удалена путем изменения кода на:

 $tarikh->map(function ($detail) {

        $detail->Umur = \Carbon\Carbon::createFromFormat('Y',$detail->lahir_yy)->diffInYears(); 
        return $detail;
    });    
...