CakePHP
Cakephp1.2の話。 modelで参照するTableを動的に変更するために、cakephpのmodelにはsetSourceというメソッドがあります。 そいつを実行すると確かに$this->find()ってやるとテーブルが変更されているが、戻ってくる配列のKeyが変更されていないことに気づい…
cakephp->version:1.2.2.8120 cakephpのofficialではonError()なるコールバックメソッドがあると書いてあるが、こいつが呼び出されるのはfind,read,saveといったアソシエーション上で利用できるメソッドのみだった。libs/model/datasources/dbo_source.phpを…
cakephp_version:1.2.2.8120 ちょっとハマった。bindmodel()/unbindModel()を使って一時的にアソシエートしている時に注意。 paginate = array( 'A' => array( 'conditions' => array(), 'limit' => 20, 'order' => array('A.id' => 'desc'), 'joins' => arr…
ま、そんなこともあるよね、人間だもの。良くわかんないけどこんなんでいいんジャマイカ。 hiddenで配列を作るためには、こんな感じにしなくてはならぬ。 <input type="hidden" name="hoge" value="1"/> <input type="hidden" name="hoge" value="2"/> <input type="hidden" name="hoge" value="3"/> とりあえずこうやってみた。 hidden("hoge",array("value"=>1))?> hidd…
cakephpのversion:1.2.2.8120 今回JOINしたかったのは、A、B、Cという3つのテーブル。 JOINの条件としては、「A.id = B.A_id」と「B.id=C.B_id」というもの。A→BがhasManyでB→CがBelongToと言えば分かりやすいと思う。 こーゆー時はアソシエーションで頑張って…
適当に思ったことを書く。 controllerはできる限りスリムにする。 controllerで$this->[MODEL_NAME]->findXXXとかサンプルやチュートリアルで書かれているもんだから、僕も多分にもれずそう書いてきたんだけど、これって良く考えたらビジネスロジックじゃん…
多分コレでいいんジャマイカ。 検索条件をPOSTで送って絞り込んでいる場合(僕の場合は日付のFromTo)、ページングで次へ次へとクリックしても検索条件が引き継がれなかった。色々考えたが、手っ取り早くSessionに入れて引き回せばいいやという考えに落ち着い…
ぐぐっても情報が古いんで、自分でソース読んで調べた。簡単だった。ソースはcake/libs/view/helpers/form.phpね。大体890行目近辺。 value($fieldName); } $out = array(); foreach ($options as $optValue => $optTitle) { $optionsHere = array('value' =>…
cakephpのコンポーネントでCakeMailというのがあるのですが、今それを使わせて頂いてHTMLメール作ってます。 CakePHPでメールを送信する - Webプログラマー+WebデザイナーなZARU日記 で、コメント欄でも困っているヒトがいたのですが、CakeMailをそのまま使…