0

在我的函数 index() 中,此代码不返回所有

$this->paginate = [
        'contain' => ['TipoPlatos','TipoArticulos'],
    ];
    $platos = $this->paginate($this->Platos);

$this->set(compact('platos'));

这只会返回 20 个 platos,但我有 23 个。

如果你使用这个

$platos2 = $this->Platos->find('all')->select(['id'])->toArray();

我有所有,但我不知道为什么第一个不返回所有。

是否可以从分页中获取失败?

4

1 回答 1

0
$this->paginate = [
        'contain' => ['TipoPlatos','TipoArticulos'],
    ];
    $platos = $this->paginate($this->Platos);

$this->set(compact('platos'));

^ 这是使用分页https://book.cakephp.org/3/en/controllers/components/pagination.html
这将帮助您执行以下网址:

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#using-finders-to-load-data

于 2020-05-13T09:20:11.547 回答