2016-04-05 14 views
0

を作成することはできません私はこのエラーを取得しておいてください。ここでは一般的なエラー:私は、PHPの職人の移行を実行すると1005がテーブル

[Illuminate\Database\QueryException] SQLSTATE[HY000]: General error: 1005 Can't create table binomi . #sql-3910_c0b (errno: 150 "Foreign key constraint is incorrectly formed") (SQL: alter table users add constraint users_activity_foreign foreign key (activity) references activity (id) on delete cascade) [PDOException] SQLSTATE[HY000]: General error: 1005 Can't create table binomi . #sql-3910_c0b (errno: 150 "Foreign key constraint is incorrectly formed")

は私のユーザーと活動モデルのためのスキーマあり、それらは唯一のモデルですアプリ。

ユーザー移行:

Schema::create('users', function (Blueprint $table) { 
     $table->increments('id'); 
     $table->string('name'); 
     $table->string('email')->unique(); 
     $table->string('password'); 
     $table->integer('activity'); 
     $table->rememberToken(); 
     $table->timestamps(); 
    }); 

    Schema::table('users', function($table){ 
     $table->foreign('activity')->references('id')->on('activity')->onDelete('cascade'); 
    } 

活動の移行:

Schema::create('activty', function (Blueprint $table) { 
     $table->increments('id'); 
     $table->string('label'); 
    }); 
+0

作るかどうかもチェック

$table->integer('activity')->unsigned(); 

と「;;」あなたの外国のキーラインの終わりに? – Duikboot

+0

それは単なる入力ミスです@Duikboot –

答えて

2

は、あなたの外部キー列にunsigned()修飾子を追加します。だから、

、必ず下記のコードのように符号なし追加します:あなたが気づいたタイプミスかどうかを

+0

はい、それは働いて、ありがとう:) –

1

あなたの活動のテーブルにはスペルミスがあり、それはあなたのスキーマ作成中activtyを言います。また、あなたが持っていない限り、activitiesの名前を変更することをお勧めします。自動的に符号なしとして割り当てられ

Schema::create('users', function (Blueprint $table) { 
     ... 
     $table->integer('activity')->unsigned(); 
     $table->rememberToken(); 
     $table->timestamps(); 
    }); 
+0

名前を変更しても何も起こっていません –

+0

あなたも戻ってきましたか? –

関連する問題