반응형
Larvel에서 Migration을 작성할 때 단일 칼럼에 대한 Unique 속성이 아닌
여러 개의 컬럼을 대상인 복합키로 Unique 속성을 줘야 할 경우 아래처럼 사용이 가능합니다.
기존처럼 단일 컬럼에 Uniuqe를 부여하는 것이 아닌
public function up()
{
Schema::create('테이블 명', function (Blueprint $table) {
$table->id();
$table->foreignId('participant_id')->comment('참여자 아아디')->unique();
$table->foreignId('product_id')->comment('상품 아아디');
$table->timestamp('created_at')->index()->comment('참여 일시')->unique();
});
}
아래와 같이 $table->unique()을 통해 복합키로 unique 속성을 줄 수 있습니다.
public function up()
{
Schema::create('테이블 명', function (Blueprint $table) {
$table->id();
$table->foreignId('participant_id')->comment('참여자 아아디');
$table->foreignId('product_id')->comment('상품 아아디');
$table->timestamp('created_at')->index()->comment('참여 일시');
$table->unique(['participant_id','created_at']);
});
}
이로써 이 테이블은 participant_id와 created_at이 둘 다 동일한 컬럼이 존재할 수 없습니다.
반응형
'PHP > Laravel' 카테고리의 다른 글
Laravel 9 CRUD 초급 예제 2부 : Read & Update & Delete (0) | 2022.08.10 |
---|---|
Laravel 9 CRUD 초급 예제 1부 : Setting & Create (19) | 2022.08.09 |
phpstorm 이미지 주소 정규식 검색 후 변경 (0) | 2022.07.20 |
phpstorm + vagrant + xdebug 세팅 (0) | 2022.04.21 |
[Laravel] 테스트 개념 및 실행 (0) | 2021.06.08 |