Laravel迁移不会在其他数据库上创建外键

时间:2018-08-24 16:52:14

标签: php laravel laravel-5

我尝试与other_database中的表添加外键关系。迁移命令运行整个迁移而不会出现任何错误;代码创建没有错误的表;但不创建外键关系。

Schema::connection($my_database_connection)->create('product_metas', 
    function (Blueprint $table) {
        $table->increments('id');
        $table->integer("product_id")->references('id')->on('other_database.products');

我在外键关系中会犯什么错误?

2 个答案:

答案 0 :(得分:1)

您首先需要指定列,然后将其设置为外键:

$table->unsignedInteger("product_id");
$table->foreign("product_id")->references('id')->on('other_database.products');

答案 1 :(得分:1)

尝试

Schema::connection($my_database_connection)->create('product_metas', 
    function (Blueprint $table) {
        $table->increments('id');
        $table->integer("product_id")->unsigned();
        $table->foreign("product_id")->references('id')->on('other_database.products');