我有一个分页符调用,如$users = $this->paginate('User');
。
然后我打电话用一些东西(第三方)更新$users
数组。如何让paginate再次调用自己?
$resultsPerPage = 10;
$this->paginate = array
(
'conditions' => array
(
'User.name' => $query
),
'limit' => $resultsPerPage
);
然后我做:$users = $this->paginate('User');
然后我将那些user_id放在第一页返回的set中,并将它们传递给另一个系统(我进行API调用,并且没有对该系统的数据库访问权限)。如果更新了某些$users
数组数据,则会为每个实例更新$this->save()
(外部代码也是如此)。但这会使$users
数组过时。如果我再次呼叫相同的数据,应该更新它?但是paginate不会再做一次数据库调用吗?
答案 0 :(得分:1)
你在做什么听起来像你做错了。 api调用不应该在控制器中完成。这是模型/数据源要做的。然而,这是你可以做你不喜欢的一种方式。
第一次通话后执行以下操作
$this->params['named']['page'] = isset($this->params['named']['page']) ? $this->params['named']['page'] + 1 : 2;
就是说增加页码如果设置了就买一个,或者把它设为第2页。这会欺骗分页器认为你在下一页。然后,您可以再次调用$ this-> paginate()来获取下一组。
cake使用参数中的页面来设置限制x,y。