<p>This is People table records.</p> <?=$this->Form->create(null, ["type"=>"post", "url"=>["controller"=>"People", "action"=>"index"]]) ?> <div>find</div> <div><?=$this->Form->text("People.find") ?></div> <div><?=$this->Form->submit("検索") ?></div> <?=$this->Form->end() ?>
Controller
public function index(){ if($this->request->is('post')){ $find = $this->request->data['People']['find']; $condition = ['conditions'=>["name"=>$find]]; $data = $this->People->find("all", $condition); } else { $data = $this->People->find("all"); } $this->set('data', $data); }
### 曖昧検索
public function index(){ if($this->request->is('post')){ $find = $this->request->data['People']['find']; $condition = ['conditions'=>["name like"=>$find]]; $data = $this->People->find("all", $condition); } else { $data = $this->People->find("all"); } $this->set('data', $data); }
決まった年齢以下の人だけ検索
$condition = [“conditions” => [“age <=" => $find]];
public function index(){ if($this->request->is('post')){ $find = $this->request->data['People']['find']; $arr = explode(",", $find); $condition = ['conditions'=>[ "and"=> [ "age >=" => $arr[0], "age <=" => $arr[1] ] ]]; $data = $this->People->find("all", $condition); } else { $data = $this->People->find("all"); } $this->set('data', $data); }
### 並び順
public function index(){ if($this->request->is('post')){ $find = $this->request->data['People']['find']; $condition = [ 'conditions'=>["name like" => $find], "order" => ["People.age" => "desc"] ]; $data = $this->People->find("all", $condition); } else { $data = $this->People->find("all"); } $this->set('data', $data); }
### 必要な部分だけ取り出す
– 取り出す位置の設定「offset」
– 取り出すレコード数の設定「limit」
– 取り出すページの設定「page」
public function index(){ if($this->request->is('post')){ $find = $this->request->data['People']['find']; $condition = [ 'limit'=> 3, "page" => $find ]; $data = $this->People->find("all", $condition); } else { $data = $this->People->find("all", ["order"=> ["People.age" => "asc"]]); } $this->set('data', $data); }