検索条件 $conditionsについて

2009年10月13日火曜日
  • このエントリーをはてなブックマークに追加
findで検索時の条件を指定するときはcakephpの検索条件配列をつくる。

配列のキーがカラム名、配列の値の前半部分が比較演算子、後半部分がカラムの値

array("カラム名" => "[比較演算子][値]")

例)
$conditions = array(
"id"=>"=1",
"status"=>"!= 1");
$this->find($conditions);
とした場合
SELECT * FROM モデル WHERE id = 1 AND status !=1;

となるそうです。

複雑な条件式を指定する場合

配列の中に配列をつくり、入れ子にして指定します。
演算子として指定可能な文字列は "and" "or" "not" "and not" "or not" "xor" "||" "&&" です。

例)
$conditions array(
"or" => array(
"and" => array(
"id" => "=100",
"status =>"!= 1"),
"admin"=> "=1")
);
とした場合、

SELECT * FROM モデル WHERE (((id=100) AND (status != 1))) OR (admin = 1));
となるそうです。

ラベル:


0 件のコメント:

コメントを投稿