CakePHP2009/12/22マッチー
CakePHPで開発をする際、デバッグの値を2とかにするとページの最下部に投げたクエリの結果などが見られる。 これは大変便利なのだけど、作っているサイトのデザインとかによっては見づらかったりするし、意外と邪魔だなって思うこともある。しかしデバッグを0にすると本当に正しいクエリを投げているのか確認できなかったりするから、それはそれで困ってしまう。 なので、できればこの実行結果などを別のところで見られれば良いなぁと思うわけです。 そこで今回オススメしたいのがこちらの商品。FirePHP。 (リCakePHP2009/12/17マッチー
コントローラーにindex()やadd()などの関数を書けば、URLに/controller/indexや/controller/addなどでそのページのファイルが呼ばれるが、内部だけで使いたい、URLから取得されたくないような場合は、関数の先頭にアンダーバーをつけると良い。 <?php class SampleController extends AppController { function index() { /sample/index、/sample/CakePHP2009/12/14マッチー
findメソッドでMySQLのDISTINCTを使いたいときはfieldsにDISTINCTでカラムを指定してやれば良い。 $params = array('fields' => 'DISTINCT user_id'); $this->Model->find('all', $params); さて、ここでfind('all')ではなくてfind('count')の場合、上のようにパラメータを指定すると、 Object of class stdClass couCakePHP2009/12/08マッチー
CakePHPで検索結果の表示ページなどにページング処理を行う際、検索結果が何件で現在は何件目が表示されているかみたいなのを表示させたいことはままあると思う。 paginatorヘルパーにはcounterというメソッドがあって、たとえば検索結果の合計数は%count%という定数に入っている。なので、view側で <?php echo $paginator->counter(array('format' => "全%count%件")) ?> //実際の表示 全1CakePHP2009/12/03マッチー
CakePHPでDBからレコードを取得したり逆に入力したりする際にはfindやsaveというお手軽なメソッドがあるのでとても便利。 だけど、結構複雑なクエリーを投げなきゃいけないとなると、どう書けば良いのか分からなくなる場合も意外とあったりする。findの条件指定のときとか。BETWEENとかLIKEなんかも、一度知ってしまえばたいしたことはないのだけど、知らないとわりと悩む。少なくとも自分は悩みました。 どうしても困ったら$this->query()で直接SQL文を書いちゃえば良いの