とにかくよく使う 「findAll」 のまとめです
findAll($conditions,$fields,$order,$limit,$page,$recursive)
指定されたフィールドから、(もし指定されていれば)$conditions にマッチするものを $page (デフォルトは1ページ目) ページから $limit レコードまで返す。
旧ブログhttp://sandman.s6.xrea.com/nucleus/item-72.html
指定されたフィールドから、(もし指定されていれば)$conditions にマッチするものを $page (デフォルトは1ページ目) ページから $limit レコードまで返す。
$conditions: 検索条件の配列。もしくは、SQL文の where 節の文字列 $fields: 取り出したいフィールドの配列 $order: 並び順 order by ******* の部分の文字列 $limit: 一度に読み込む数の上限 $page: 何ページ目から読み込むか($limitに依存) $recursive: モデルのアソシエーションを何階層たぐるか(デフォルトは0
//SQL風に
findAll("name='太郎' and sex='男'");
//and検索
findAll(array('name'=>'太郎','sex'=>'男'));
//イコールを明記。イコールの後には半角空白を!
findAll(array('name'=>'= 太郎','sex'=>'= 男'));
//モデル名を明記
findAll(array('User.name'=>'太郎'));
//太郎じゃない時。イコールの後には半角空白
findAll(array('name'=>'!= 太郎'));
//比較演算
findAll(array('age'=>'> 20'));
findAll(array('age'=>'<= 30'));
//LIKE検索
findAll(array('name'=>'LIKE 太%'));
//or検索
findAll(array('or'=>array('name'=>'LIKE 太%','name'=>'LIKE %郎 ')));
//正規表現(kanaがア行から始まる)
findAll(array('kana'=>'regexp ^(あ|い|う|え|お)'));
//フィールドも指定
findAll(array('name'=>'太郎'), array('name','kana','age'));
//並び順、要素数、ページを指定
findAll(array('name'=>'太郎'), null, 'age',10);
findAll(array('name'=>'太郎'), null, 'age desc',10,2);
//関連モデルも一緒に全て読み込む(深さ1)
findAll(null, null, null,null,null,1);
//recursive をセットしたときは、モデル名を明記しておく
findAll(array('User.name'=>'太郎'), array('User.name','Post.id'), null,null,null,1);
旧ブログhttp://sandman.s6.xrea.com/nucleus/item-72.html
2007年09月08日19時40分41秒
カテゴリ: CakePHP
カテゴリ: CakePHP