Как установить фильтр настройки в нумерации тортов - PullRequest
0 голосов
/ 25 марта 2019

Я записал код в контроллер для разбивки на страницы и перечислил категории продуктов, все работают нормально.У меня есть фильтр категории товаров.фильтр тоже работает нормально.Теперь лимит нумерации страниц равен 5. Я просматриваю категорию Apple, там 15 записей.когда я щелкаю на странице secong в pagination, эта страница будет обновлена, поэтому фильтр не будет применен, и будет получена общая запись.

    $user_roles = $this->Role->find("all")->toArray();
    $searchParams = $this->request->data();
    $conditions = array();
    if(!empty($searchParams)) {
        if(!empty($searchParams['first_name'])) {
           $conditions['firstname like'] = trim("%".$searchParams['first_name']."%", " ");
        }

        if(!empty($searchParams['status'])) {
            $conditions['status'] = $searchParams['status'];
        }
        if(!empty($searchParams['role'])) {
            $conditions['role'] = $searchParams['role'];
        }

        if(!empty($searchParams['status'])) {
            $conditions['status'] = trim($searchParams['status'], " ");
        }
    }
    try {
        $users = $this->paginate($this->Users->find("all")->where(array('role NOT IN'=> ['director'], $conditions)));
    } catch (NotFoundException $e) {

    }
    $this->set(compact('users', 'searchParams', 'user_roles'));

1 Ответ

0 голосов
/ 26 марта 2019

Метод формы фильтра должен быть «get», а не «post», тогда вам нужно будет установить фильтры при каждом обновлении страницы.И вам нужно будет изменить эту строку

$searchParams = $this->request->data();

на эту:

$searchParams = $this->request->getQuery();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...