Laravel+PostgreSQL에서 timestamp가 있는 테이블 데이터가 Carbon의 trailing data 에러가 나오는 해결의 비망록
3099 단어 PHPTimestampCarbon라라벨PostgreSQL
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 오류가 발생 /
Reference
이 문제에 관하여(Laravel+PostgreSQL에서 timestamp가 있는 테이블 데이터가 Carbon의 trailing data 에러가 나오는 해결의 비망록), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/reopa_sharkun/items/f398730a379aea2c8788텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)