No.305
【CakePHP3】識別子をクオートさせる
データベースの予約語を使いたい!
CakePHP3ではCakePHP2までとは違い、デフォルトでは識別子(identifier)を引用符(quote)で囲わなくなった。
パフォーマンスやSQL構文作成時にいろいろ問題があった、とのことだ。まあ、出力されたSQLを見たことのある人なら納得できる理由だろう。
基本的にはlines
やorder
などの予約語を使わなければ済むことだけど、システムの移植などでどうしても使わざるを得ないときがある。
そんなときは、データーソースのquoteIdentifiers
をtrue
に変更すればOK。
// config/app.php
'Datasources' => [
'default' => [
...
'quoteIdentifiers' => true
]
],