截断 CakePHP 3.X table 并重置自动增量 ID

Tuncate CakePHP 3.X table and reset Auto Incremented id

在旧的cakePHP中2.X我使用了这个语句:

$this->Products->query('TRUNCATE TABLE products;');

这是我可以将我的 ID 重置为 1 的唯一方法。现在在 cakephp 3.X 中,这似乎根本不会截断 table。

我试过:

deleteAll();

哪个有效,但似乎总是需要一个条件,但最重要的是不会重置 ID;

query()->delete()->execute();

删除所有内容但不重置 ID。

有谁知道如何在 Cakephp 3.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

在控制器中包含 "ConnectionManager" 命名空间

use Cake\Datasource\ConnectionManager;

创建连接字符串并在您的操作中执行查询

$connection = ConnectionManager::get('default');
$results = $connection->execute('TRUNCATE TABLE tableName');