Cakephp несколько или поиск - PullRequest
0 голосов
/ 15 августа 2011

Я хочу иметь возможность искать все данные на основе нескольких или условий, используя foreach, как показано ниже:

 function index() {
        if ($this->Session->read('Auth.User.group_id') != 1) {
            $commune_id = $this->Session->read('Auth.User.commune_id');
            $commune_id = $this->Petition->Commune->findbyId($commune_id);
            $commune_id = $this->Petition->Commune->find('all',array('conditions' => array('group' => $commune_id['Commune']['group'])));
            $count = count($commune_id);
            $i=1;
            foreach($commune_id as $commune_ids){
            if($i != $count){
            $this->paginate = array(
                'or' => array(
                    array('Petition.commune_id LIKE' => $commune_ids['Commune']['id'] . ","),
                    ),
                'limit' => 10
            );
            }
            $i++;
            }
        }
        $this->Petition->recursive = 0;
        $petitions = $this->paginate();
        $this->set('petitions', $petitions);
    }

Мне удалось получить возможное количество совпадений, но мне было интересно, как я могу использовать этот массив для получения результатов с несколькими или условиями с функцией paginator.

1 Ответ

0 голосов
/ 15 августа 2011

Чтобы сделать нумерацию страниц в таких ситуациях, как это, обычно нужно переопределить Model::paginate() и Model::paginateCount(), как подробно описано в книге в разделе Нумерация пользовательских запросов .

В качестве альтернативы, вы можетеиспользуйте плагин, в котором уже реализованы такие функции, как разбиение на страницы, например, поисковый плагин CakeDC .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...