2017-05-28 64 views
0

框架:Laravel 5.2 数据库:MySQL的 PHP:7.0laravel 5 - 我如何添加 - >指数(),以现有的外键

我有表 “poptins”:

Schema::create('poptins', function (Blueprint $table) { 
     $table->string('id')->primary()->index(); 
     $table->string('ab_test_parent_id')->nullable(); 
     $table->string('cloned_parent_id')->nullable(); 
     $table->timestamps(); 
    }); 

和表“转换”:

Schema::create('conversions', function (Blueprint $table) { 
     $table->string('id')->primary()->index(); 
     $table->integer('users')->default(null); 
     $table->string('name',256)->default(null); 
     $table->string('poptin_id'); 
     $table->foreign('poptin_id')->references('id')->on('poptins')->onDelete('cascade')->onUpdate('cascade'); 
     $table->timestamps(); 
    }); 

我已经在“转换”表中设置了一个外键(poptin_id)。现在是否意味着外键(poptin_id)也是一个索引?如果没有......我需要做什么才能使其成为索引?

谢谢?

+0

我不太了解PHP,但考虑MySQL/SQL,你需要明确添加一个索引,即使你已经添加了外键 – nilesh

回答

0

Laravel只添加一个外键约束,并不隐式添加索引。但是一些数据库如MySQL会自动索引外键列。

如果您需要将索引添加到其他迁移中的字段。那么你可以做

$table->index('email');