Yii Gii在model creator中未检测到mysql表

Yii Gii在model creator中未检测到mysql表,yii,gii,Yii,Gii,从config/main.php: 'db'=>array( 'connectionString' => 'mysql:host=localhost;dbname=testdb', 'emulatePrepare' => true, 'username' => 'root', 'password' => '', 'charset' => 'utf8', ), 当我

从config/main.php:

    'db'=>array(
        'connectionString' => 'mysql:host=localhost;dbname=testdb',
        'emulatePrepare' => true,
        'username' => 'root',
        'password' => '',
        'charset' => 'utf8',
    ),
当我使用gii模型生成器时(http://localhost/yii/testdelete/index.php?r=gii/model)并尝试在表名中添加“post”或“user”,然后单击“Preview”,它会显示:

表“post”不存在

我希望能够使用这些表创建模型

从phpMyAdmin导出:

-- Host: 127.0.0.1
-- Database: `testdb`
如果不存在,则创建表
post
(
id
int(10)无符号非空自动增量,
已在上创建
int(11)无符号非空,
title
varchar(255)校对utf8\u unicode\u ci非空,
内容
文本整理utf8\u unicode\u ci不为空, 主键(
id
) )ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8\U unicode\U ci AUTO\U INCREMENT=1

如果不存在,则创建表
user
(
id
int(10)无符号非空自动增量,
username
varchar(200)校对utf8\u unicode\u ci非空,
password
char(40)校对utf8\u unicode\u ci非空, 主键(
id
) )ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8\U unicode\U ci AUTO\U INCREMENT=1

如果在表名字段中键入“s”,则两个表都会弹出“自动完成”

检查一下

  • 您已保存配置文件(请将其关闭,然后再次打开以验证其内容)
  • 您的配置文件中有一个db部分(可能是sqlite覆盖了它)
  • 检查您是否在同一个mysql实例上。phpMyAdmin主机127.0.0.1并不意味着它是同一个实例,它是运行phpMyAdmin的实例(请检查url)。从命令行登录(或使用奇妙的桌面客户端)查看本地主机数据库

  • 嗨,谢谢你给我关于自动完成的提示。无论如何,唯一会出现的表格是tbl_用户。我修改了config/console.php并注释掉了“'connectionString'=>'sqlite:'.dirname(文件)。'/../data/testdrive.db',”并添加了mysql信息,现在gii可以使用mysql表'post'和'user'正常工作。如果我把config/console.php放回去,它只会再次使用config/main.php中的数据库信息。。。