Я пытаюсь сделать форму поиска в моем проекте cakephp 2.5. Вот мой взгляд, где создается форма:
<?php
echo $this->Form->create('Product', array('action' => 'complete_search'));
echo $this->Form->input('searchName', array('label' => false, 'div' => false, 'class' => 'form-control', 'autocomplete' => 'off'));
echo $this->Form->input('searchCity', array('label' => false, 'div' => false, 'class' => 'form-control', 'autocomplete' => 'off'));
echo $this->Form->button('Search', array('div' => false, 'class' => 'btn btn-sm btn-primary'));
echo $this->Form->end();
?>
Мои продуктыКонтроллер:
public function complete_search(){
if (!empty($this->request->data['searchName']) && !empty($this->request->data['searchCity'])) {
$keywordSearch = $this->request->data['searchName'];
$keywordSearchCity = $this->request->data['searchCity'];
}else{
$keywordSearch = 'test';
$keywordSearchCity = 'testCity';
}
$products = $this->Product->find('all', array(
'recursive' => -1,
'contain' => array(
'Brand'
),
'conditions' => array(
'AND' => array(
'Brand.active' => 1,
'Product.active' => 1,
'Product.date_discount >' => date('Y-m-d H:i:s'),
'Product.name LIKE' => '%' . $keywordSearch . '%',
'Brand.city LIKE' => '%'. $keywordSearchCity .'%'
)
),
'limit' => 200,
));
$products = $this->paginate($products);
$this->set(compact('products'));
}
И у меня есть complete_search.ctp, чтобы показать результаты.
Проблема в том, что $keywordSearch
и $keywordCity
всегда пусты... И я не знаю почему. Что случилось с моей формой?
Измените это
if (!empty($this->request->data['searchName']) && !empty($this->request->data['searchCity'])) {
$keywordSearch = $this->request->data['searchName'];
$keywordSearchCity = $this->request->data['searchCity'];
}else{
$keywordSearch = 'test';
$keywordSearchCity = 'testCity';
}
К этому
$keywordSearch = 'test';
$keywordSearchCity = 'testCity';
if (!empty($this->request->data['Product']['searchName']) && !empty($this->request->data['Product']['searchCity'])) {
$keywordSearch = $this->request->data['Product']['searchName'];
$keywordSearchCity = $this->request->data['Product']['searchCity'];
}