- ユニーク制約を使用する方法:
マイグレーションファイルの
up
メソッド内で、unique
メソッドを使用して2つのカラムにユニーク制約を設定します。
Schema::create('table_name', function (Blueprint $table) {
$table->string('column1');
$table->string('column2');
$table->unique(['column1', 'column2']);
});
- カスタムの一意のルールを作成する方法:
マイグレーションファイルの
up
メソッド内で、DB::statement
メソッドを使用してカスタムの一意のルールを作成します。
Schema::create('table_name', function (Blueprint $table) {
$table->string('column1');
$table->string('column2');
$table->index(['column1', 'column2']);
$table->foreign(['column1', 'column2'])
->references(['column1', 'column2'])
->on('other_table')
->onDelete('cascade');
});
// 一意のルールを作成
DB::statement('ALTER TABLE table_name ADD CONSTRAINT constraint_name UNIQUE (column1, column2)');
- マイグレーションファイルの
up
メソッド内でクエリを実行する方法: マイグレーションファイルのup
メソッド内で、DB::statement
メソッドを使用して直接クエリを実行します。
Schema::create('table_name', function (Blueprint $table) {
$table->string('column1');
$table->string('column2');
});
// 一意の制約を追加するクエリを実行
DB::statement('ALTER TABLE table_name ADD CONSTRAINT constraint_name UNIQUE (column1, column2)');
上記の方法を使用することで、2つのカラム間に一意の値を設定することができます。適切な方法を選択し、マイグレーションファイルに実装してください。