CakePHP删除表中的所有记录

Adi*_*att 6 cakephp delete-record

我想使用CakePHP语法删除表中的所有记录,我该怎么办?

我试过,deleteAll但它只适用于条件,同样的方式delete,有没有其他方法,我可以清空我的表?

让我知道 !

Joh*_*hnP 15

http://book.cakephp.org/2.0/en/models/deleting-data.html

我没有使用deleteAll()删除整个表,所以我不知道你是否可以不带参数调用它(编辑:你不能不带参数调用它).但是,你可以使用

$this->Model->deleteAll(array('1 = 1'));
Run Code Online (Sandbox Code Playgroud)

但是,我认为如果你只是TRUNCATE通过该query()方法运行SQL命令会更好.

$this->Model->query('TRUNCATE table;');
Run Code Online (Sandbox Code Playgroud)

  • @vindia你应该可以使用`1 = 1`,因为它是有效的mysql.但问题是我认为它会很慢.无论如何,与"TRUNCATE"相比 (3认同)
  • 据我所研究,你的第二种选择确实是蛋糕的唯一选择. (2认同)