Schema\Builder类有hasTable()hasColumn()个方法,分别用于判断表和列的存在性.

是否有任何方法或方法来判断索引键(如唯一键)是否存在?

推荐答案

虽然Laravel没有提供任何方法来判断密钥的存在,但您可以使用任意of the available queries in MySQL,然后使用DB::select().

例如:

$keyExists = DB::select(
    DB::raw(
        'SHOW KEYS
        FROM your_table_name
        WHERE Key_name=\'your_key_name\''
    )
);

只需将your_table_nameyour_key_name替换为正确的值.

Laravel相关问答推荐

Laravel FAKER语法

Inertiajs - 使用链接组件添加记录但无法在不使用表单的情况下清除文本区域

为什么删除查询执行 Laravel

Npm run dev 卡在 APP_URL

1 子编译中的警告(使用'stats.children:true'和'--stats-children'了解更多详细信息)

FileViewFinder.php 第 137 行中的 Laravel 5 InvalidArgumentException:未找到视图 [.admin]

Laravel:如何通过 id 从集合中删除项目

在 laravel 5 中的表单请求验证后传递旧输入

Laravel 4:验证前修剪输入的最佳实践

Laravel - 超过 PHP 最大上传大小限制时验证文件大小

Laravel Nova - 重新排序左侧导航菜单项

如何在 Laravel 中实现数组类型路由?

如何在 Laravel 4 中使用 SHA1 加密而不是 BCrypt?

Grammar::parameterize() 必须是数组类型

今天之前的 Laravel 规则......怎么办

Lumen/Laravel 6:调用未定义的函数 array_except()

Laravel 5.4 Vue.JS 无法挂载组件:未定义模板或渲染函数

使用 Queue::fake() 测试监听器

laravel:如何获取 eloquent 模型的列名?

Laravel如何仅响应没有正文消息的204代码状态