Yii 我得到所有的数据库

Yii 我得到所有的数据库,yii,Yii,我正在尝试获取Yii应用程序中的所有数据库。 我的第一个解决方案如下: $dsn = "mysql:host = localhost; dbname=myDBname"; $username = "myUsername"; $password = "myPassword"; $command = "show databases"; $db = new PDO($dsn, $username, $password); $db->query($command); var_dump($db-&

我正在尝试获取Yii应用程序中的所有数据库。 我的第一个解决方案如下:

$dsn = "mysql:host = localhost; dbname=myDBname";
$username = "myUsername";
$password = "myPassword";

$command = "show databases";
$db = new PDO($dsn, $username, $password);
$db->query($command);
var_dump($db->query($command)->fetchAll()) ;
但是,我知道这个解决方案没有利用这个框架。因此,我尝试寻找一种更好的方法,可能是这样的:

        $sql = "show databases";
        $command = Yii::app()->db->createCommand($sql);
        $result = $command->query();
        var_dump($result);
然而,通过这种方式,结果并不像我预期的那样。它实际上返回CDbDataReader类的对象实例。访问真正PDO对象的属性是私有的(它的名称是“_statement”),因此我无法访问它来获取所有数据库。 那么,你能帮我找到一种更优雅的方法,可以从Yii框架中获得比第一个解决方案更多的东西吗?
谢谢。

哦,我得到了答案,我只需要将“query”方法更改为“queryAll”,这样看起来就像这样: var_dump(Yii::app()->db->createCommand('SHOW DATABASES')->queryAll())