CakePHP 2.0 pagination オプションの設定
Posted in CakePHP on 10月 27th, 2011 by Site AdministratorPaginatorについて、これまでは
$this->paginate[‘limit’] = 5;
などと直接いじれていたのですが、CakePHP2.0からはNGとなります。
回りくどいですが
$options = $this->paginate;
$options[‘limit’] = 5;
$this->paginate = $options;
としなければできないみたい。
あとlimitですが、上記のように設定したにも関わらず、URLで「/limit:10」
などとパラメータを指定すると、URLが優先されてしまいます。
回避するためには
$options[‘maxLimit’] = 5;
とmaxLimitを設定しなければなりません。
これまではパラメータでlimitを指定されないように(limitに膨大な値を指定されても困る!)、
paginateのwhitelistでlimitが使えないように設定をしていたのですが、
2.0からはmaxLimitを使うことで柔軟な対応も可能なようです。