質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
CakePHP

CakePHPは、PHPで書かれたWebアプリケーション開発用のフレームワークです。 Ruby on Railsの考え方を多く取り入れており、Railsの高速性とPHPの機動性を兼ね備えています。 MVCやORMなどを「規約優先の考え方」で利用するため、コードを書く手間を省くことができます。 外部のライブラリに依存しないので、単体での利用が可能です。

Q&A

解決済

1回答

3693閲覧

cakePHP3でページネーションの最大値をsessionから読み取り変更させる

yajin

総合スコア75

CakePHP

CakePHPは、PHPで書かれたWebアプリケーション開発用のフレームワークです。 Ruby on Railsの考え方を多く取り入れており、Railsの高速性とPHPの機動性を兼ね備えています。 MVCやORMなどを「規約優先の考え方」で利用するため、コードを書く手間を省くことができます。 外部のライブラリに依存しないので、単体での利用が可能です。

0グッド

0クリップ

投稿2016/07/25 15:25

編集2016/07/25 15:37

公式のドキュメントを見るとページネーションのlimitの数は初期設定で決められています。これをユーザの意図する数に変更させるためにはどのようにsessionから初期設定のlimitを反映させればよいでしょうか。

やったこと。
$pagenateの上書き

コントローラ public $paginate = [ 'limit' => 50,/*とりあえず50で初期設定*/ 'order' => [ 'Articles.id' => 'asc' ] ]; public function initialize() { parent::initialize(); $this->loadComponent('Paginator'); } public function view(){ sessionからmax値を取得 ・・・・・・ $paginate = [ 'limit' => $max,/*ここで変更させる。echo $maxだと値が変わってることが確認できました。*/ 'order' => [ 'articles.id' => 'asc' ] ]; ・・・・・・ $articles = $this->articless->find('all')->where(['user_id' => $user_id]); $this->set('articles', $this->paginate($articles)); }

とやっても、だめなようです。
ちなみに、初期設定を10とかにすると、10で動くのでページネーション自体は動いているようです。

宜しくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

php

1class ArticlesController extends AppController 2{ 3 4 public $paginate = [ 5 'limit' => 10, 6 'order' => [ 7 'Articles.title' => 'asc' 8 ] 9 ]; 10 11 public function initialize() 12 { 13 $limit = $this->request->session()->read('limit'); 14 $this->paginate['limit'] = $limit; 15 parent::initialize(); 16 $this->loadComponent('Paginator'); 17 } 18}

投稿2016/07/25 15:58

編集2016/07/25 16:16
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yajin

2016/07/26 04:04

なるほど。 初期化の段階で読みに行き、もしあれば、拾ってくるという状況にさせるわけですね。 勉強になりました。 ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問