Компактный массив Cakephp
В моей функции index() этот код не возвращает все
$this->paginate = [
'contain' => ['TipoPlatos','TipoArticulos'],
];
$platos = $this->paginate($this->Platos);
$this->set(compact('platos'));
Это вернет только 20 плато, а у меня 23.
Если вы используете это
$platos2 = $this->Platos->find('all')->select(['id'])->toArray();
у меня есть все, но я не знаю, почему первый не возвращает все.
Можно ли получить сбой из paginate?
1 ответ
$this->paginate = [
'contain' => ['TipoPlatos','TipoArticulos'],
];
$platos = $this->paginate($this->Platos);
$this->set(compact('platos'));
^ это использует разбиение на страницы https://book.cakephp.org/3/en/controllers/components/pagination.html,
что поможет вам делать такие URL-адреса, как:
your-site.test/platos // <= page 1
your-site.test/platos?page=2
your-site.test/platos?page=3
Если вы хотите, чтобы индекс возвращал все, измените свой код на:
$platos = $this->Platos->find()
->contain(['TipoPlatos','TipoArticulos'])
->all();
$this->set(compact('platos'));
https://book.cakephp.org/3/en/orm/retrieving-data-and-resultsets.html