2016-08-15 2 views
1

Я действительно не мог изменить запрос в модели, в качестве альтернативы я создаю новый массив $dataNewResult и вставляю данные в него, внутри результатов данных контроллера foreach цикл.Как переопределить ограничение на paginate CakePHP 2?

Как я могу переопределить свойство limit из объекта paginate в соответствии с количеством новых массивов?

Я не пытаюсь:

$this->paginate['limit'] = $dataNewResult; 

И я получаю сообщение об ошибке: Косвенного изменения перегруженной собственности MyobjectController::$paginate имеет никакого эффекта

Это код, который я пытаюсь:

if(base64_decode($this->passedArgs['Myobject.restriction']) == '0') 
    { 
     $this->set('data', $dataNewResult); 
     $this->paginate['limit'] = count($dataNewResult); 
    } else { 
     $this->set('data', $data); 
    } 

ответ

0

Необходимо присвоить начальное значение этому свойству. Установите $this->paginate = array();, прежде чем устанавливать предел.

$this->paginate = array(); 
$this->paginate['limit'] = count($dataNewResult); 

Или объявите свойство в классе контроллера.

public $paginate = array(); 

http://book.cakephp.org/2.0/en/core-libraries/components/pagination.html#pagination-with-get-parameters

Смежные вопросы