【发布时间】:2021-08-29 18:12:52
【问题描述】:
我正在尝试使用分页以随机顺序查找所有产品。却得到了意想不到的结果。 这是我的控制器代码:
$this->paginate = ['maxLimit' => 20];
$articlesData = $this->Products->find('all');
$articlesData->order('RAND()');
$articles = $this->paginate($articlesData);
所以我每次都得到随机结果,这是页面的需求。我有 200 种产品。假设第一项是第一页上的 item-12,那么如果我转到下一页并再次转到上一页,那么第一项应该是 item-12,但它是随机变化的。有什么解决办法吗?
我需要分页,因为产品数量很快就会达到 1000 个。并且需要随机结果,因为我不希望该用户在第一页上看到相同的第一个产品。第一个产品应该在第一页上,但不是每次都在同一个位置。有什么方法可以让我按随机顺序制作 20 个项目的分页数组?
欢迎所有建议。
【问题讨论】:
-
我看不出随机结果和分页之间有什么逻辑。如果您偶尔会在不同的页面上看到相同的条目,为什么要分页?
-
我需要分页,因为产品数量很快就会达到 1000。并且需要随机结果,因为我不希望该用户在第一页上看到相同的第一个产品。第一个产品应该在第一页上,但不是每次都在同一个位置。有什么方法可以让我按随机顺序制作 20 个项目的分页数组?
标签: cakephp cakephp-4.x