以下這段代碼為laravel中檢測(cè)表中是否存在索引的函數(shù),通過(guò)該函數(shù)傳遞兩個(gè)參數(shù),分別為$table表名,$name字段名,來(lái)自動(dòng)完成檢測(cè),示例代碼如下:
/**
*檢測(cè)表中索引是否存在
*$table 表名
*$name 字段名
*/
public function hasIndex($table, $name)
{
$conn = Schema::getConnection();
$dbSchemaManager = $conn->getDoctrineSchemaManager();
$doctrineTable = $dbSchemaManager->listTableDetails($table);
return $doctrineTable->hasIndex($name);
}
if($this->hasIndex('test','test_email_index')){
$table->dropIndex('test_email_index');
}
使用這個(gè)函數(shù)判斷索引相當(dāng)方便。