app\Config\bootstrap.php
CakePlugin::load('Search');
app\Model\Model.php
public $actsAs = array('Search.Searchable');
public $filterArgs = array(
'field1' => array(
'type' => 'value',
'field' => 'Model.field1'
),
);
app\Controller\XxxxxController.php
public $components = array('Search.Prg');
public $presetVars = true;
検索結果をPaginationする時
app\Controller\XxxxxController.php
public function search() {
$this->Prg->commonProcess();
$this->Paginator->settings = array(
'conditions' => array(
$this->Model->parseCriteria($this->passedArgs)
)
);
$this->set('lists', $this->Paginator->paginate());
}
Paginationしない時
app\Controller\XxxxxController.php
public function search() {
$this->Prg->commonProcess();
if ($this->request->data) {
// 検索結果の表示
$passedArgs = $this->passedArgs;
} else {
// 検索しない時の表示
$passedArgs = null;
}
$lists = $this->Model->find('all', $passedArgs);
$this->set('lists', $lists);
}