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