検索条件を組み立てる
検索条件は、テキストまたは配列で指定します。カラム名はテーブルが結合されるケースを想定して'Post.title'のように'モデル名.カラム名'とするのが良いです。
テキストで指定する
$option['conditions'] = "Post.title = 'cake' "; $this->Post->find('all',$option);
配列で条件を組み立てる
検索条件の基本はカラム名をキーにした配列を作っていきます。
$option['conditions'] = array('Post.title' =>'cake'); $this->Post->find('all',$option);
演算子
<>, LIKE, BETWEEN, REGEXなどの演算子をカラム名の後に置いて使用できます。
array("Post.title <>" => "cake") array("Post.created >=" => "2009.1.1") array("Post.level BETWEEN ? AND ?" => array(3,5))
IN演算子
値を配列で渡すとIN演算子が使用されます。
array("Post.title" => array("cake","cola","potate"))
論理演算子
AND, OR, NOT, XOR,その他の論理演算子を使用できます。
AND
配列を増やせばAND検索になります。
array ( "Post.title" => "cake", "Post.subtitle" => "Framework" )
OR, NOT, XOR
OR, NOT, XORいずれかのキーに複数の条件を与えます。小文字でも大丈夫です。
array ("or" => array ( "Post.title" => "cake", "Post.subtitle" => "cake" ) )