Skocz do zawartości
Syndrom

laravel - problem z timestamp

Polecane posty

Witam,

Mam pewnie łatwy problem, ale nie ogarniam.

W bazie mam definicję kolumny jako:

`updated_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',

i w poprawnie dodaną wartość:

2017-03-22 10:38:37

 

ale jak pobieram w Laravelu za pomocą czy to all() czy get() to zawsze zwraca mi tylko datę bez czasu.

Gdzie to powinienem sformatować?

 

 

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Laravel standardowo powinien zwrócić Ci datę z godziną,

nie masz czasem w modelu metody getUpdatedAtAttribute ?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Niestety nic to nie daje, nawet jak dodaje bezpośrednio w modelu, bez przeciążania

Przeciążyłem tą metodę:

protected function asDateTime($value)
        {
                // If this value is an integer, we will assume it is a UNIX timestamp's value
                // and format a Carbon object from this timestamp. This allows flexibility
                // when defining your date fields as they might be UNIX timestamps here.
                if (is_numeric($value))
                {
                        return Carbon::createFromTimestamp($value);
                }

                // If the value is in simply year, month, day format, we will instantiate the
                // Carbon instances from that format. Again, this provides for simple date
                // fields on the database, while still supporting Carbonized conversion.
                elseif (preg_match('/^(\d{4})-(\d{2})-(\d{2})$/', $value))
                {
                        return Carbon::createFromFormat('Y-m-d', $value)->startOfDay();
                }

                // Finally, we will just assume this date is in the format used by default on
                // the database connection and use that format to create the Carbon object
                // that is returned back out to the developers after we convert it here.
                elseif ( ! $value instanceof DateTime)
                {
                        $format = $this->getDateFormat();
                        return $value;
                }

                return Carbon::instance($value);
        }

i zmieniłem fragment:

                        return Carbon::createFromFormat($format, $value);

Nie wiem dlaczego tak się dzieje, ważne, że działa.

 

Może mi ktoś wytłumaczyć, bo to pewnie jest jakiś syf to co zrobiłem

Edytowano przez Syndrom (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się


×