Супер смущен этим;просто используя стандартные запеченные шаблоны для доступа CRUD к моим моделям.Я перевожу этот проект из гораздо более старой версии торта, но опять же, пока что я просто использую готовые контроллеры и шаблоны.
/**
* Index method
*
* @return \Cake\Http\Response|void
*/
public function index() {
$this->paginate = [
'contain' => ['Associated1', 'Associated2', 'AssociatedEtc']
];
$myModels = $this->paginate($this->MyModel); // returns zero results
$myModels_found = $this->MyModel->find('all'); // finds everything
$this->set(compact('model'));
}
В информации CookBook описываетсяРеализация Paginator совершенно иным образом, нежели изначально запрограммированные контроллеры (и, попробовав описанную там реализацию, получили точно такой же результат).
Важно, что, как и в $myModel_found
, если я просто получаю записи через $model->find()
, все возвращается как обычно, поэтому нет проблем с подключением к слою данных.
Как настроитьPaginator, так что он действительно извлекает мои записи?
ОБНОВЛЕНИЕ
После небольшого углубления я обнаружил, что Paginator возвращает нулевые результаты только для моделей с неассоциированнымиассоциации (т. е. строка в таблице Model1
, которая имеет 0 или ноль для model2_id
и т. д., не возвращается. Даже если я удалю условие contain
, это поведение сохраняется.