Основное использование поискового плагина cakephp

Я надеюсь, что вы можете мне помочь. Я сделал все шаги, как здесь "основная помощь cakephp по использованию поиска cakedc plugin", но поисковик ничего не делает.

Мой проект посвящен одному списку пользователей, и я хочу отфильтровать поля «apellidos» или «dni».

В моем контроллере я объявил компонент и это:

public function index() {
    $this->Prg->commonProcess();
$this->paginate = array(
    'conditions' => $this->User->parseCriteria($this->passedArgs));
$this->set('users', $this->paginate());
    $this->User->recursive = 0;
    $this->User->order = 'User.cod_cliente';
    $this->User->conditions = 'User.nombre';
    if($this->Session->read('Auth.User.group_id')==5)
    {
        //$this->set('categorias', $this->User->find('all',array('fields'=>array('group_id','cod_cliente','nombre','apellidos','dni','id'))));
    }else
    {
        $this->User->conditions = array('User.cod_centro'=>$this->Session->read('Auth.User.cod_centro'));
        //$this->set('categorias', $this->User->find('all',array('fields'=>array('group_id','cod_cliente','nombre','apellidos','dni','id'),'conditions'=>array('User.cod_centro'=>$this->Session->read('Auth.User.cod_centro')))));
        }
    $this->set('categorias', $this->Paginator->paginate());
    $this->set('title_for_layout', __('Listado de usuarios')." - ".__('Administración'));
}

    public $presetVars = array(
array('field' => 'apellidos', 'type' => 'value'),
array('field' => 'dni', 'type' => 'value'),);

 public $actsAs = array('Containable','Search.Searchable','Acl' => array('type' => 'requester'));

public $filterArgs = array(
    array('name' => 'apellidos', 'type' => 'query', 'method' => 'filterApellidos'),
    array('name' => 'dni', 'type' => 'query', 'method' => 'filterDni'),
    );     

а вот и функции:

        public function filterApellidos($data, $field = null) {
        if (empty($data['apellidos'])) {
            return array();
        }
        $apellidosField = '%' . $data['apellidos'] . '%';
        return array(
            'OR' => array(
                $this->alias . '.apellidos LIKE' => $apellidosField,
                ));
    }

     public function filterDni($data, $field = null) {
        if (empty($data['dni'])) {
            return array();
        }
        $dniField = '%' . $data['dni'] . '%';
        return array(
            'OR' => array(
                $this->alias . '.dni LIKE' => $dniField,
                ));
    }
    // Built a list of search options (unless you have this list somewhere else)
    public function __construct($id = false, $table = null, $ds = null) {
    $this->statuses = array(
                '' => __('All', true),
                 0 => __('Bid', true),
                 1 => __('Cancelled', true),
                2 => __('Approved', true),
                3 => __('On Setup', true),
                4 => __('Field', true),
                5 => __('Closed', true),
                6 => __('Other', true));
     parent::__construct($id, $table, $ds);
     }

Наконец, в представлении у меня есть это:

<div><?php
    echo $this->Form->create('Usuario', array(
        'url' => array_merge(array('action' => 'index'), $this->params['pass'])
        ));
    echo $this->Form->input('apellidos', array('div' => false, 'empty' => true)); // empty creates blank option.
    echo $this->Form->input('dni', array('div' => false, 'empty' => true));
    echo $this->Form->submit(__('Search', true), array('div' => false));
    echo $this->Form->end();
?>
    </div>

Не могли бы вы сказать мне, что я делаю неправильно, пожалуйста? Большое спасибо!!

Белен


person Belén Solana    schedule 09.06.2015    source источник
comment
Не могли бы вы немного рассказать о том, что плагин поиска делает неправильно? Вы получаете сообщение об ошибке, оно никогда не возвращает никаких результатов или только неотфильтрованные результаты? Мы могли бы помочь лучше, если бы знали, что происходит не так.   -  person Oldskool    schedule 09.06.2015
comment
Конечно, @oldskool. Плагин никогда не возвращает никаких результатов; Пишу что-то в полях поиска, нажимаю кнопку и вроде что-то делает, но на самом деле ничего не возвращает. Спасибо!   -  person Belén Solana    schedule 09.06.2015