문제:
Laravel의 스키마 빌더/마이그레이션에서 사용자는 기본값이 다음과 같은 타임스탬프 열을 생성하는 방법에 대한 지침을 구하세요. CURRENT_TIMESTAMP 업데이트 시 CURRENT_TIMESTAMP. timestamps() 함수는 현재 생성된 열과 업데이트된 열 모두에 대해 기본값이 0000-00-00 00:00입니다.
해결책:
기본값을 설정하려면 Laravel 마이그레이션을 사용하여 타임스탬프 열을 CURRENT_TIMESTAMP로 변경하려면 다음을 사용하세요. DB::raw():
$table->timestamp('created_at')->default(DB::raw('CURRENT_TIMESTAMP'));
Laravel 5.1.25부터 useCurrent() 열 수정자를 사용하여 이를 단순화할 수 있습니다.
$table->timestamp('created_at')->useCurrent();
MySQL의 경우 ON UPDATE CURRENT_TIMESTAMP는 DB::raw():
$table->timestamp('updated_at')->default(DB::raw('CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP'));
Laravel을 통해 사용 8.36.0, useCurrent() 및 useCurrentOnUpdate()를 함께 사용하면 동일한 결과를 얻을 수 있습니다.
$table->timestamp('updated_at')->useCurrent()->useCurrentOnUpdate();
Gotchas:
Laravel 4.x 문제를 담당한 @andrewhl과 문제를 담당한 @ChanakaKarunarathne에게 감사드립니다. useCurrentOnUpdate() 단축키를 사용하세요.
위 내용은 Laravel 마이그레이션에서 기본 타임스탬프 열을 CURRENT_TIMESTAMP로 설정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!