相关疑难解决方法(0)

Laravel 4迁移问题中的外键问题

我刚刚创建了一个新的Laravel 4项目,并且发现模式构建器的外键方面发生了奇怪的事情.如果我->foreign()在任何迁移中使用该方法,我会抛出MySQL错误150和一般错误1005.根据laravel.com/docs的文档,底部的两个场景应该有效吗?谁知道他们为什么不这样做?

以下工作:

    Schema::create('areas', function($table)
    {
        $table->engine ='InnoDB';
        $table->increments('id');

        $table->integer('region_id')->references('id')->on('regions');

        $table->string('name', 160);
        $table->timestamps();
    });
Run Code Online (Sandbox Code Playgroud)

但这两个不起作用:

    Schema::create('areas', function($table)
    {
        $table->engine ='InnoDB';
        $table->increments('id');

        $table->foreign('region_id')->references('id')->on('regions');

        $table->string('name', 160);
        $table->timestamps();
    });

    Schema::create('areas', function($table)
    {
        $table->engine ='InnoDB';
        $table->increments('id');

        $table->integer('region_id');
        $table->foreign('region_id')->references('id')->on('regions');

        $table->string('name', 160);
        $table->timestamps();
    });
Run Code Online (Sandbox Code Playgroud)

mysql laravel laravel-4

25
推荐指数
3
解决办法
2万
查看次数

标签 统计

laravel ×1

laravel-4 ×1

mysql ×1