迁移:无法在laravel中添加外键约束

我试图在Laravel中创建外键,但是当我使用I迁移表artisan时,抛出以下错误:


[Illuminate\Database\QueryException]

SQLSTATE[HY000]: General error: 1215 Cannot add foreign key constraint (SQL

: alter table `priorities` add constraint priorities_user_id_foreign foreign 

key (`user_id`) references `users` (`id`))     

我的迁移代码是这样的:


优先级迁移文件


public function up()

{

    //

    Schema::create('priorities', function($table) {

        $table->increments('id', true);

        $table->integer('user_id');

        $table->foreign('user_id')->references('id')->on('users');

        $table->string('priority_name');

        $table->smallInteger('rank');

        $table->text('class');

        $table->timestamps('timecreated');

    });

}


/**

 * Reverse the migrations.

 *

 * @return void

 */

public function down()

{

    //

    Schema::drop('priorities');

}

用户迁移文件


public function up()

{

    //

    Schema::table('users', function($table)

    {

    $table->create();

    $table->increments('id');

    $table->string('email');

    $table->string('first_name');

    $table->string('password');

    $table->string('email_code');

    $table->string('time_created');

    $table->string('ip');

    $table->string('confirmed');

    $table->string('user_role');

    $table->string('salt');

    $table->string('last_login');


    $table->timestamps();

    });

}


/**

 * Reverse the migrations.

 *

 * @return void

 */

public function down()

{

    //

        Schemea::drop('users');

}

关于我做错了什么的任何想法,我想立即得到,因为我需要创建很多表,例如用户,客户,项目,任务,状态,优先级,类型,团队。理想我想创建与外键,i..e持此数据表clients_project和project_tasks等。


希望有人可以帮助我入门。


小怪兽爱吃肉
浏览 627回答 3
3回答
打开App,查看更多内容
随时随地看视频慕课网APP