判断表是否存在的问题 [ 2.0 版本 ]
我是想判断表是否存在,然后添加表
但提示 Call to a member function createCommand() on a non-object
请问要怎么处理?
<?php
namespace frontend\controllers;
use yii\web\Controller;
use yii\db\Migration;
use yii\db\Schema;
class TableController extends Controller
{
public function actionIndex()
{
$mir = new Migration();
$sch = new \yii\db\mysql\Schema;
$tableName='shang';
$table=$db->createCommand("SHOW TABLES LIKE '".$tableName."'")->queryAll();
if($table==null) {
echo '1';
}else{
echo '2';
}
// $mir->createTable('shang', [
// 'id' => 'pk',
// 'title' => $sch::TYPE_STRING . ' NOT NULL',
// 'content' => $sch::TYPE_TEXT,
// ]);
}
}
okokad 补充于 2016-07-08 20:02
$r = $db->getSchema()->getTableNames();//获取表名
$r = $db->getSchema()->getTableSchema('shang');//获取表字段名
这样返回的是数组,再判断,感觉这样也挺好的。
最佳答案
其他 2 个回答
okokad
注册时间:2016-02-29
最后登录:2017-07-01
在线时长:49小时26分
最后登录:2017-07-01
在线时长:49小时26分
- 粉丝12
- 金钱25
- 威望80
- 积分1315