Undefined index: constraint_name [ 2.0 版本 ]
错误日志
[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 在获取数据库模式时出错。
解决方法
设置 PDO 属性
PDO::ATTR_CASE => PDO::CASE_LOWER
编辑common/config/main-local.php'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);
推荐第一种方法,使列名明确指定为一致的大小写。
╃巡洋艦㊣ 北京
注册时间:2010-11-21
最后登录:1天前
在线时长:1658小时37分
最后登录:1天前
在线时长:1658小时37分
- 粉丝1370
- 金钱75048
- 威望845
- 积分100078
共 0 条评论