CakePHPで一度に同じモデルで複数回登録する時はどうするか

こんばんはっ
最近、アニメの「けいおん!」をみまして、楽器熱が燃え上がってきています。
弾けないんですけどねっ、練習したいっ



CakePHPで、複数のデータをループさせて登録しようとした時に、なぜか一件しか登録できていないという挙動がおこりました。


CakePHPのsaveメソッドでINSERTするつもりがUPDATEになってしまう場合 – 頭ん中


うん、まさに↑これ。
1番初めにINSERTしたデータのidを引きずり回してUPDATEしているみたいです。
どういうシーンを想定しているのかはわかりませんが、とりあえず私のしたいことではないので却下です、却下。

上記のエントリーで紹介されているものをそのまま使うとちょっと問題?が起こったりするみたいで、それの派生先でもある


CakePHPのモデル内でループ中にsaveメソッドを繰り返すとcreatedとmodifiedが”0000-00-00 00:00:00″になる件 – 頭ん中


も参考に、


$this->ModelName->save($saveData1);
$this->ModelName->create();
$this->ModelName->save($saveData2);
のようにすればいいようです、なるほどっ!

CakePHPでhtmlspecialchars()の短縮形のh()がかなり便利

こんばんはっ
最近平日遅いので、休日は遅くまで寝ていたりします。
で、土曜日は朝帰りだったので、昼近くまで寝ていました。
これはこれで、半日損した気分になるので、ダメですねー。



CakePHPでh()という、htmlspecialchars()の短縮形があります。
初めはあんまり使えないなーって思っていたんです。


h($val, ENT_QUOTES);


ってすると、



htmlspecialchars() [function.htmlspecialchars]: charset `3′ not supported, assuming iso-8859-1 [CORE/cake/basics.php, line 209]





っていうエラーが出ますし。
ダメダメだなぁって思ってたら、実はENT_QUOTESを自分で指定せずともちゃんとやってくれるみたいで、内部で


return htmlspecialchars($text, ENT_QUOTES, $charset);




ってなってました、なかなかやりよります。

それどころか、実は値に配列を渡してあげると、全部htmlspecialcharsの処理をしてくれるみたいで、CakePHPはかゆいところに手が届く子だなぁと思いました。

MTでコメントを登録しようとしたらエラーが出る時は

こんばんはっ
最近寒いですね、朝窓をあけて息を吐くと口から南極の風が。


MTで何も考えずに適当にテンプレート組んでいて、コメント欄作っていた時にテストでエラーが。

「エラーが発生しました。 不正な要求です。」

↑こんな感じのやつです。
なんだろと思っていたら、mt.jsを読み込んでいないといけなかったみたいです。
どうも、js内でコメント登録時の確認?的な処理をしているみたいです。

読み込むようにしたらエラーが出なくなりました。

MTのページ分割を可能にするPageButeを導入する、時に忘れてはダメなもの

あけましておめでとうございます

マイペースではありますが、今年もよろしくお願いしますっ



MTで日記を書いてアーカイブがたまってくるとと、ページを分割したくなってきます。

前のページ 1 2 3 4 5 次のページ

↑のような、よくあるやつです。
1ページがずどーんと長いくらいはまだいいとして、ずどどーんと長すぎるのは、あんまりよくないと思うんですよ。
仕事でマウスのスクロールしすぎて指が痛くなったりしますし。

M500いいですよM500!



ページ分割するプラグインで有名なのが、


静的ページ用ページ分割プラグイン:PageBute | Movable Typeプラグイン | MTエンジニアブログ | スカイアークシステム




だと思います。
導入に関しては、PageButeで検索すると山ほど出てくるのでそちらを参考にしてください。

たとえば、
Movable Type 備忘録 – PageBute プラグイン
とかが判りやすいと思います。
忘れてはならないのは、↑のサイトでも紹介されている際に赤文字で表記されている

<$MTPageSeparator$>

は入れておかないといけないです。
入れておかなくてもエラーは出ないのですが、記事も出力されないページが生成されてしまいます、、、しまいました。