我已经创建了一个控制台命令,我需要截断一个表。
读取类引用:http://www.yiiframework.com/doc-2.0/yii-db-command.html#truncateTable()-detail我无法理解为执行此命令需要包含哪些文件。
我包括:
use yii\db\Command;
use yii\db\Connection;
但不确定哪一个是正确的。
我试图执行:
$command = Yii::$app->db->truncateTable('user');
这给了我以下错误:
异常' yii \ base \ UnknownMethodException'消息'调用未知方法:yii \ db \ Connection :: truncateTable()'
和
Yii::$connection->createCommand()->truncateTable('user');
这给了我以下错误:
PHP致命错误' yii \ base \ ErrorException'使用消息'访问未声明的静态属性:Yii :: $ connection'
我真的不明白我需要做什么。
答案 0 :(得分:11)
Yii::$app->db->createCommand()->truncateTable('user')->execute();
答案 1 :(得分:2)
使用yii2迁移默认功能
步骤1.创建迁移
yii migrate/create truncate_table_xxx
第二步。修改档案xxx_truncate_table_xxx
有点像那样
class m150101_185401_truncate_table_xxx extends Migration
{
$this->dropTable('xxx')
}
答案 2 :(得分:0)
或者可以使用:
User::deleteAll();
假设User
是活动模型类。
此命令显示已删除记录的数量。
注意,与truncate
不同,删除所有记录不会将自动增量计数器重置为1
。