Php Laravel 5-迁移中的复合关键索引

Php Laravel 5-迁移中的复合关键索引,php,laravel,laravel-5,Php,Laravel,Laravel 5,综合指数是一个我没有完全经验的主题,我不确定我是否做对了?或者如果Laravel在迁移时正确解析了我的代码。这看起来对吗 Schema::create('friends', function(Blueprint $table) { $table->increments('id'); $table->integer('requester_id')->unsigned(); $table->integer('requestee_id')->uns

综合指数是一个我没有完全经验的主题,我不确定我是否做对了?或者如果Laravel在迁移时正确解析了我的代码。这看起来对吗

Schema::create('friends', function(Blueprint $table)
{
    $table->increments('id');
    $table->integer('requester_id')->unsigned();
    $table->integer('requestee_id')->unsigned();
    $table->timestamps();

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

    $table->unique(['requester_id', 'requestee_id'], 'composite_index');
});
以下是Sequel Pro所展示的内容:


你所拥有的是正确的



注意:不必指定索引的名称。Laravel将根据被索引的列自动为您生成一个名称。

以下是我的示例:为每个用户创建唯一的
外部\u id

    Schema::create('orders', function (Blueprint $table) {
        $table->increments('id');

        $table->string('external_id')->nullable();
        $table->unique(['external_id', 'user_id']); // <<---------

        $table->integer('user_id')->unsigned()->index();
        $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');

        // ...
    });
Schema::创建('orders',函数(Blueprint$表){
$table->increments('id');
$table->string('external_id')->nullable();
$table->unique(['external_id','user_id']);//unsigned()->index();
$table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
// ...
});

谢谢,我为这个名字编了索引,以便在图片中更容易理解。