bonsaiのブログ

bonsaiのブログ

ブログの説明を入力します。

Amebaでブログを始めよう!

findAllの引数$conditionsには、配列を渡せばいいんだと。



http://sandman.s6.xrea.com/nucleus/item-72.html からの引用

------------------

findAll($conditions,$fields,$order,$limit,$page,$recursive)
指定されたフィールドから、 (もし指定されていれば)$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);