MySQL查询 SHOW INDEXES FROM persons 将给予表上的所有索引,但它包括除名称之外的其他信息。在我的设置中,包含该名称的列称为Key_name,因此让我们获取键名的集合
collect(DB::select("SHOW INDEXES FROM persons"))->pluck('Key_name')
因为它是一个集合,你可以使用contains,所以最后我们有:
if (collect(DB::select("SHOW INDEXES FROM persons"))->pluck('Key_name')->contains('persons_body_unique')) {
$table->dropUnique('persons_body_unique');
}
3条答案
按热度按时间fdbelqdn1#
使用Laravel使用的“doctrine-dbal”是更好的解决方案:
20jt8wwn2#
MySQL查询
SHOW INDEXES FROM persons
将给予表上的所有索引,但它包括除名称之外的其他信息。在我的设置中,包含该名称的列称为
Key_name
,因此让我们获取键名的集合因为它是一个集合,你可以使用
contains
,所以最后我们有:wgxvkvu93#
在简单的形式中,您可以这样做