1
我從這裏讀到:
http://www.yiiframework.com/doc-2.0/yii-db-mysql-schema.html#findUniqueIndexes()-detailYii2 MySQL - 如何使用findUniqueIndexes方法?
findUniqueIndexes()
返回給定表的所有唯一索引。
這裏我做了什麼至今:
$table = \Yii::$app->db->schema->getTableSchema('my_tbl');
$dbSchema = new \yii\db\mysql\Schema();
$uniqueKeys = $dbSchema->findUniqueIndexes($table);
但我得到這個錯誤:
Exception 'Error' with message 'Call to a member function createCommand() on null'
in /media/yahya/Data/my-projects/yii2-api-template-dev/vendor/yiisoft/yii2/db/mysql/Schema.php:232
Stack trace:
#0 /media/yahya/Data/my-projects/yii2-api-template-dev/vendor/yiisoft/yii2/db/mysql/Schema.php(322): yii\db\mysql\Schema->getCreateTableSql(Object(yii\db\TableSchema))
#1 /media/yahya/Data/my-projects/yii2-api-template-dev/console/controllers/RevmigrateController.php(103): yii\db\mysql\Schema->findUniqueIndexes(Object(yii\db\TableSchema))
這裏是我的數據庫連接的配置:
'db' => [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=127.0.0.1;dbname=api_template',
'username' => 'root',
'password' => '',
'charset' => 'utf8',
]
如果它不是框架中的錯誤,那麼是什麼正確的方法來使用這種方法?
哦,我不知道'getTableSchema'將自動返回特定的DBMS模式。因此我不需要顯式地使用'\ yii \ db \ mysql \ Schema'。 – Yahya