1
我有一個搜索輸入的表單:CakePHP的2 - 分頁超越第1頁不起作用
echo $this->Form->create('Job', array('url'=>array('controller'=>'jobs', 'action'=>'search'), 'action'=>'search', 'inputDefaults' => array('label' => false, 'div'=>false)));
echo '<br/>'.$this->Form->input('search', array('label' => false, 'div'=>false));
echo $this->Form->submit('Search', array('div' => false));
在我的控制器
我有PAGINATE陣列像這樣:
public $paginate = array(
'Job' => array(
'fields' => array('Job.id', 'Job.name', 'Job.description', 'Job.tag_words'),
'limit' => 5,
'order' => array(
'Job.name' => 'asc'
)),
);
,然後我的搜索功能是:
public function search() {
if ($this->request->is('post')) {
$conditions = array();
$search_terms = explode(' ', $this->request->data['Mix']['search']);
foreach($search_terms as $search_term){
$conditions[] = array('Mix.name Like' =>'%'.$search_term.'%');
$conditions[] = array('Mix.description Like' =>'%'.$search_term.'%');
$conditions[] = array('Mix.tag_words Like' =>'%'.$search_term.'%');
}
$searchResults = $this->paginate('Mix', array('Mix.published'=>1, 'OR' => $conditions));
$this->set('searchResults', $searchResults);
}
}
這適用於結果的第一頁,但在我看來,我有先前/去第二頁只是提出一個空白頁面。我該如何保留搜索詞並能夠轉到第二頁?
您應該使用「獲取」表單執行搜索並將其包含在分頁鏈接中。我可能在某個地方有一個例子,但目前沒有在我的電腦上 – thaJeztah 2013-03-19 19:18:57