なぜか cakephp上では変な時間(UTC)になってしまう時の対策。
続きを読む cakephp2.2 Model createdのtimezoneがUTCになる
はい。今日もPhpStormネタです。
cakephpで直接継承はしていないVendorやらに置いたClassを補完する方法。
今日も懲りずにPhpStormネタ。
Controllerで uses なんかで定義したModelの補完を有効にする方法。
はまったので備忘録的に。
CakePHPのmodelを使って、レコードの削除をしてたんやけどどうもレスポンスが悪い。
Model の deleteAll メソッドに指定した検索条件のカラムににはちゃんとINDEXは貼ってあるけど
どうもINDEXが使われてないような感じがする。
で、MySQLの方で実際に発行されてるSQLを調べてみると
deleteAllがコールされた段階で SELECT とDELETE がセットで呼ばれてるようだ。
deleteAll に指定した検索条件で SELECT した後、その SELECT 結果から取得した id で DELETE をやってる。
普通に使ってるテーブルなら id はたいてい PRIMARY KEY になってるから気にしてなかったけど
今回のはログテーブルだったもんで id にINDEX 貼ってなかったのが原因だったようで…
id にINDEX追加したら無事爆速なレスポンスになったとさ。
タイトルのまんまですが結構はまったのでメモ。
Model内に直接書くとちゃんとコールバックが実行されるので
beforeSaveとafterFindを両方書いた