在旧的cakePHP 2.X中,我使用了这句话:
$this->Products->query('TRUNCATE TABLE products;');
这是我可以将我的ID重置为1的唯一方法。现在在cakephp 3.X中,这似乎根本没有截断表格。
我试过了:
deleteAll();
哪个有效,但似乎总是需要一个条件,但最重要的是不会重置ID;
query()->delete()->execute();
删除所有内容但不重置ID。
有谁知道如何在 Cakephp 3.2
中完成此任务答案 0 :(得分:2)
在CakePHP3中执行任意查询的方式是:
$connection = \Cake\Datasource\ConnectionManager::get('default');
$connection->execute('TRUNCATE TABLE products');
http://book.cakephp.org/3.0/en/orm/database-basics.html#database-basics
答案 1 :(得分:2)
包括" ConnectionManager"控制器中的命名空间
use Cake\Datasource\ConnectionManager;
在您的操作中创建连接字符串并执行查询
$connection = ConnectionManager::get('default');
$results = $connection->execute('TRUNCATE TABLE tableName');