CakePHP database config.DBをUTF-8で使いたくて、ハマッタ。 PHPから日本語データを送信して、ブラウザの表示とかはちゃんと見えてるから良しと思ってたら、その入力したデータが検索機能とかでは見つからない。コンソールで見ると文字化けしてた。phpMyAdminやコンソールからのMySQLのクエリでINSERTしてみると化けずにちゃんと格納する状態。どうやらPHPからMySQLへ向かう途中でコケてる様子だ。 あちこちさまよって結局ソースを見ると、app/config/database.phpで、送信するときのencodingを指定できるみたい。またCakePHPマニュアルに書いてないことをスルーしていたようで。
SET NAMES fooでやってるようだ。文字コード辺りはまだまだ詳しく何やってるか分かってないけど、とりあえず良しとしとこう…か。今回もvar_dump()しまくった。 |
CakePHP HABTMCakePHPのHasAndBelongsToManyのアソシエーションで、普通にモデルのSaveメソッドやったら既に持ってる関連がリセットされてしまう。マニュアルにあるような配列の入れ子を作って保存する際に、__saveMultiメソッドがデリートしてしまうようだ。 新しく関連を追加したり削ったりする場合は、こんな風にメソッドを追加してやったほうが良さそう。Alternative Methods for Working with hasAndBelongsToMany Associations | The Bakery, Everything CakePHP : Articles 今んとこ、やっぱりRailsの方が最初っから色々そろってんだなと思った。CakePHPも充分良いけど。 |







