Laravel의 Schema Builder는 데이터베이스 스키마 조작을 단순화하지만 타임스탬프 열의 기본값을 현재 타임스탬프로 설정하는 것은 어려울 수 있습니다.
문제:
Laravel에서 timestamps()는 기본값이 0000-00-00 00:00인 타임스탬프 열을 생성합니다. Laravel 마이그레이션을 사용하여 이 기본값을 CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP로 어떻게 설정할 수 있습니까?
해결책:
CURRENT_TIMESTAMP를 타임스탬프 열의 기본값으로 지정하려면 DB를 사용하세요. :raw():
<code class="php">$table->timestamp('created_at')->default(DB::raw('CURRENT_TIMESTAMP'));</code>
Laravel 5.1.25부터 useCurrent() 열 수정자를 사용합니다.
<code class="php">$table->timestamp('created_at')->useCurrent();</code>
ON UPDATE 절의 경우 DB::raw를 사용할 수 있습니다. ():
<code class="php">$table->timestamp('updated_at')->default(DB::raw('CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP'));</code>
Laravel 8.36.0부터 useCurrentOnUpdate() 수정자를 사용하세요:
<code class="php">$table->timestamp('updated_at')->useCurrent()->useCurrentOnUpdate();</code>
문제점:
<code class="php">$table->timestamp('created_at')->default(DB::raw('CURRENT_TIMESTAMP(0)'));</code>
위 내용은 CURRENT_TIMESTAMP 업데이트 시 Laravel 타임스탬프를 CURRENT_TIMESTAMP로 설정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!