Действительно, вы можете включить quoteItendifiers
, но это приводит к снижению производительности, как сказано в комментарии над ним.
Я использую другое решение этой проблемы, настроив Table class
для проблемного db_table
, например, так:
Обратите внимание, что псевдоним таблицы переименовывается, а также имя таблицы Я сбежал вручную
class GroupTable extends Table
{
public function initialize(array $config)
{
parent::initialize($config); // TODO: Change the autogenerated stub
$this->setAlias('MyGroup');
$this->setTable("`group`");
}
}
Это сгенерирует запрос, похожий на этот:
SELECT
MyGroup.id AS `MyGroup__id`,
MyGroup.filed1 AS `MyGroup__filed1`
FROM
`group` MyGroup
С CakePHP 3.6 $Group->find()->all()
работает успешно.