CakePHP

CakePHPの情報。使えるものもある?

http://d.hatena.ne.jp/bobchin/searchdiary?word=*[CakePHP] でCakePHPの情報が見れます。 最近ウォッチしていないけど、参照されていることもままあるみたい。 特に、 http://d.hatena.ne.jp/bobchin/20080805/1217913768 http://d.hatena.ne.jp/bobchin/2…

paginator のソート指定

通常は sort のキーとして指定できるのは対象テーブルのフィールド名のように思われる。 でもいろいろいじってて対象テーブルではなく関連テーブルのフィールド名を使う必要がでてきた。なんとかならないかと思ってたけど以下で解決。(でもやっていいかどう…

paginator のカスタマイズ

paginate する対象がテーブルやそのカラムと1対1なら かなり簡単に使えるんだけど、 たとえばソートキーが複数カラムに渡る場合とかになるとちょっとカスタマイズがいる。コントローラ内で $this->paginate('Model'); とすると、通常は Model::find('count…

read() するとエラーがクリアされてしまう

主キーがあるときって、モデルの read() は便利ですよね? でも注意が必要かもです。 データ更新の場合次のような構造になることが多いんですが、 public function edit($id = null) { if (!empty($this->data)) { $this->Model->save($this->data); } $this…

今日の注意

http://book.cakephp.org/ja/view/75/%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E4%BF%9D%E5%AD%98%E3%81%99%E3%82%8Bにはちゃんと書いてあるんだけど、 updateAll() するときは $fields で指定した値はクォートされません。 手動でクォートしてとのことですが…

今日の発見

モデルのバリデートは save() 内でやっていたんだけど、 個別にやる必要がでてきた。 で、ある項目だけバリデートしたいと思っていたら指定できるみたい。 validates() は invalidFields() をほぼ呼んでるだけなので同じ引き数が渡せる。 で引数として配列で…

今日の発見

paginator とかごにょごにょしてると何かと URL 操作が必要になってくるんですが、 Alias とか指定したときに先頭の固定文字が邪魔だなぁとか思ってました。ヘルパー内の url 関係は最終的には Router::url() に集約されるので、 除いてたら、「base」とか「…

1.2 RC4 でコンポーネントのstartup

Auth コンポーネントをラッピングするのにコンポーネントを多段にしていたんですが どうやらコンポーネントの startup メソッドはコントローラに 直接記述したコンポーネントのみ対象に変更になったようです。cake/libs/controller/component.php class Comp…

こんなヘルパーはどう?

jQuery とか使うとスクリプトが簡単に書けるのでそのページにしか使わないスクリプトが出てくるので、 なるべくそのビュー内でJSスクリプトを書きたい。 っていうようなときにどうだろうとか。 captureJS() で囲った部分がレイアウトの $scripts_for_layout …

Level3: fixtureに注意

http://my.opera.com/sizuhiko/blog/2008/10/26/cakephp-2008の資料を拝見させていただきました。 「Level3: fixtureに注意」はきっとhttp://d.hatena.ne.jp/bobchin/20081017/1224232162 これのためなのではないかな?とか。

バグか?

テストってやつをみてみた。 http://book.cakephp.org/ja/view/160/%E3%83%86%E3%82%B9%E3%83%88-TestingFixtureの設定ポイントは3つ。 var $name var $import var $fields var $records $name は Fixture の名前を規定するので特に問題ないか? とりあえず…

CakePHP 1.2 でトランザクション

モデルでbegin()とかやってはいけない気がする。

1つのサイトに複数アプリ

Cakeって基本はDocrootにアプリを置くと素直に動作するようになってるみたいだけど、 1つのサイトにCakeを1つ置いておいて、複数アプリを動作させたいときに困る気がする。 特に、httpd.confにAliasを切って振り分けたいのだ・・・ appフォルダをalias指定…