-
Undefined index: constraint_name 报错解决方法
错误日志
[error][yii\base\ErrorException:8] yii\base\ErrorException: Undefined index: constraint_name in /path/to/vendor/yiisoft/yii2/db/mysql/Schema.php:394
原因
MySQL 8.0.21 中返回的列名大小写不一致,导致 Yii2 在获取数据库模式时出错。
解决方法
编辑 common/config/main-local.php,设置 PDO 属性
PDO::ATTR_CASE => PDO::CASE_LOWER
'db' => [ 'class' => 'yii\db\Connection', 'dsn' => 'mysql:host=localhost;dbname=db_name', 'username' => 'username', 'password' => '******', 'attributes' => [PDO::ATTR_CASE => PDO::CASE_LOWER], ],
修改 /path/to/vendor/yiisoft/yii2/db/mysql/Schema.php:394
foreach ($rows as $row) { $row = array_change_key_case($row, CASE_LOWER);
推荐第一种方法,使列名明确指定为一致的大小写。
参考文章:https://github.com/yiisoft/yii2/issues/18171
文章归档
2023 年 08 月
1
2023 年 05 月
1
2023 年 02 月
1
2023 年 01 月
1
2022 年 12 月
1
2022 年 08 月
1
2022 年 01 月
1
2021 年 01 月
1
2020 年 04 月
1
2019 年 11 月
1
文章日历
2022 年 12 月 | ||||||
---|---|---|---|---|---|---|
日 | 一 | 二 | 三 | 四 | 五 | 六 |
28 | 29 | 30 | 31 | 01 | 02 | 03 |
04 | 05 | 06 | 07 | 08 | 09 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
文章标签
- Linux
- Go
- Yii
- 新浪
- CentOS
- PHP
- Git
- WSL
- Composer
- Mac
- 入职
- Bootstrap
- China
- UCenter
- 厦门
- 出差
- 长沙
- 湖南卫视
- 微博
- Tengine
- YUI
- 泰国
- pecl
- 优化
- GitLab
- 迁移
- rootless
- 年会
- 生日
- Tengin
- RedHat
- Sphinx
- cygwin
- Windows
- Tmux
- Zsh
- 升级
- MySQL
- sql_mode
- Shadowsockets
- 面向对象
- HTTP
- 状态码
- grep
- unoconv
- PPT
- Nginx
- htpasswd
- golang