次のコードは、迷惑な環境で正常に動作しますが、サーバーでは失敗します。理由を理解できません。CakePHP 3:データベースの構文エラーまたはアクセス違反の問題
$settingsQuery = $this->Configurations->find()
->select([
'id',
'name',
'value',
'description',
'editable',
'keyPrefix' => "SUBSTR(name FROM 1 FOR POSITION('.' IN name) - 1)"
])->order('name');
私はこの部分//'keyPrefix' => "SUBSTR(name FROM 1 FOR POSITION('.' IN name) - 1)"
コメントアウトする場合、コードは問題なく実行されます。これには何か問題がありますが、ローカルの開発者ではなくサーバー上にあるだけです。
私は、次のエラーを取得しています:
私はUbuntuのボックスの上にPHP 5.6とMySQL 5.6にCakePHPの3.4を実行しています。私の放浪セットアップ(DEV)によって生成された
SQLクエリは、phpMyAdminの
SELECT Configurations.id AS `Configurations__id`, Configurations.name AS `Configurations__name`, Configurations.value AS `Configurations__value`, Configurations.description AS `Configurations__description`, Configurations.editable AS `Configurations__editable`, SUBSTR(name FROM 1 FOR POSITION('.' IN name) - 1) AS `keyPrefix` FROM settings_configurations Configurations ORDER BY name
MySQLサーバで有効になっているクエリログに、どのSQLが正確に届いているかを確認します。 – ndm
@ndm私はそれを試みます。ありがとう! –