Laravel+PostgreSQL에서 timestamp가 있는 테이블 데이터가 Carbon의 trailing data 에러가 나오는 해결의 비망록

표제대로의 에러를 해결한 망비록.
CREATE TABLE 社員s (
    id SERIAL PRIMARY KEY,
    user_id integer NOT NULL,
    updated_time timestamp without time zone NOT NULL DEFAULT now(),
以下略・・・

같은 테이블에서,
모델에서는 업데이트 날짜 및 시간 열을 laravel의 기본값에서 변경합니다.
class Staffs extends Model
{
    const UPDATED_AT = 'updated_time';
    const CREATED_AT = 'updated_time';


처럼 컬럼을 지정하고 있다. . .

이것을 보거나 저장하려고합니다. . .
"message": "Trailing data",
    "exception": "InvalidArgumentException",
    "file": "/var/www/app/api/vendor/nesbot/carbon/src/Carbon/Carbon.php",
    "line": 910,

이 오류가 발생합니다
const UPDATED_AT = null;
const CREATED_AT = null;

하면 에러는 나오지 않지만, 저장시에 타임 스탬프가 자동 갱신되지 않는다.
SQL을 쓰면 좋지만, 안건적인 사정으로 Laravel의 자동 저장을 사용하고 싶다.

그물에 표시된 솔루션


protected $dateFormat = 'Y-m-d H:i:s.u'; 

라든지,
public function getDateFormat()
{
     return 'Y-m-d H:i:s.u';
}

처럼 데이터형을 지정해도 잘 되지 않는다・・・Y-m-d H:i:sP 라든지 Y-m-d H:i:s0 게다가 안 된다.Y-m-d H:i:s 에서 잘 작동하지 않습니다. 왜

해결책



세계에는 반드시 같은 에러로 곤란한 사람이 있다! !

Carbon trailing data for dates with timezone #16839



Trait를 만들 수밖에 없는 것 같다

이와 같이, 데이터형을 보고 Carbon에 건네주는 데이터를 조정하는 trait를 작성해, use하면 해결했다.

원인(잘 모르겠습니다)



낡은 laravel or Posgres or Carbon의 사양인가?
특별한 이유가없는 한 최신 버전의 패키지를 사용하고 싶습니다

잘 모르는 것이 움직이기 때문에 요시! ! ! 상태이므로

근본적인 원인에 대해 아는 사람은 코멘트해 주세요・・・

비슷한 오류나 이 근처의 사양, 해결 URL



htps //w w. 주석 6. 네 t / po sts / 164
htps : // 요오 s. 이 m/토피 c/에서 싶은 l/788
htps : // / 라카 sts. 이 m / ぢ s ku s / 짱 ls / ぁ 라 ゔ ぇ l / 카 r ボン t 라 ぃ g - 다 에 r? 파게 = 0
https://toriyaru.com/2020/01/09/laravel6의 timestamp 형 데이터에서 trailing-data 오류가 발생 /

좋은 웹페이지 즐겨찾기