CakePHP分页限制辅助程序
是否可以更改查看文件中记录的限制 鉴于此,我尝试:CakePHP分页限制辅助程序,cakephp,Cakephp,是否可以更改查看文件中记录的限制 鉴于此,我尝试: localhost/project/users/index/limit:25 localhost/project/users/index/limit:10 但没有成功,它始终显示控制器中指定的10条记录 public function index() { $this->Paginator->settings = array( 'conditions' => array(), 'limit' =>
localhost/project/users/index/limit:25
localhost/project/users/index/limit:10
但没有成功,它始终显示控制器中指定的10条记录
public function index() {
$this->Paginator->settings = array(
'conditions' => array(),
'limit' => 10
);
$data = $this->Paginator->paginate('Recipe');
$this->set(compact('data'));
);
您不能修改视图文件中的组件选项,因为组件是MVC中控制器的一部分。如果您需要更改Paginator组件的“限制”选项,则应在控制器中进行更改,而不要在视图文件中进行更改 在控制器中设置默认全局设置
class YourController extends AppController
{
var $paginate = array( 'limit' => 10 );
public function index()
{
//...
}
}
现在您的url参数应该可以工作了。考虑设置<代码>最大限制< /代码>。
在索引函数中设置
limit
时,覆盖url参数。则不应在设置中设置限制。或者只有在没有通过URL传递的参数时才设置限制。@标记但其他参数,如顺序:
,即使已设置,也会被覆盖,为什么不进行限制?这是一个好问题:哪些字段可以覆盖,哪些字段不能覆盖。可能是因为它通常是通过“排序”和“方向”构建的。我通常不使用Paginator->settings,而是直接使用$paginate。@mark我做了一些测试来回答这个问题,我发现如果设置了maxLimit
参数,那么limit
参数可以被覆盖,否则就不会被覆盖。你能解释一下这种行为的原因吗?不,不完全是,maxLimit只是设置了允许的最大限制。这通常是100左右,以避免因请求的数据集过大而导致服务器失败的攻击。他不尝试在视图文件中设置。他指的是他可以点击的链接。。