Я пытаюсь реализовать поиск с помощью CakeDC Search plugin. В этом поиске у меня есть поле, которое имеет 'multiple' => 'checkbox'
. Это поле позволяет пользователю выбирать несколько городов, чтобы они могли фильтровать результаты по городам/городам. Что я сделал в пользу этого, я просто указал 'type' => 'IN'
для этого поля в Searchable
Model
$filterArgs
. Но, заметив, что это просто ответило всем результатом, поиск и фильтрация не произошли. Для того, чтобы получить четкую картину того, что я реализовал здесь фрагменты кода:Использование плагина поиска CakeDC для поиска данных с полем множественного выбора
Model.php
public $actsAs = array(
'Search.Searchable'
);
public $filterArgs = array(
'city' => array(
'type' => 'in',
'field' => 'Model.city'
));
search_form.ctp
echo $this->Form->create('Model', array('url' => array('controller' => 'models', 'action' => 'search')));
echo $this->Form->input('city', array(
'multiple' => 'checkbox',
'options' => array(
'city1' => 'city1',
'city2' => 'city2',
'cityn' => 'cityn')
));
echo $this->Form->end('search');
ModelsController.php
public function search() {
$this->layout = 'front_common';
$this->Prg->commonProcess();
$this->Paginator->settings = array(
'conditions' => $this->Model->parseCriteria($this->Prg->parsedParams()),
'limit' => 10
);
$this->set('Data', $this->Paginator->paginate());
}
тоже когда-то я пытался использовать beforeFilter()
в ModelsController
взрываться city
array()
с (,)
для использования с IN
, но все же результаты. Я хочу спросить, есть ли какой-либо другой плагин для этого или любой взлом для этого с помощью плагина поиска cakeDC. Пожалуйста помоги.
Я не думаю, что эта функциональность поддерживается плагином поиска. Вероятно, вам лучше было бы создать собственную фильтрацию. –
@DavidYell Да, это не так, я думаю. может быть, нам нужно будет настроить его, чтобы использовать его так, как мы этого хотим, или вы можете предложить какой-либо метод, чтобы я мог его реализовать ..? –
Лично я бы, скорее всего, пропустил данные запроса и построил массив, который я мог бы передать в состояние «IN» в моем запросе. –