2016-10-24 9 views
1

Cakephp 3.3のjsonレスポンスにページ単位のページ数を追加しようとしています。私は、Cakephp 3.3のドキュメンテーションに従ってpaginatorメソッドを使用してクエリを作成し、コントローラの最後に.jsonを追加し、jsonレスポンスを取得する関数を追加する必要があるjson拡張を有効にしました。私が得られる結果は、ページネーションの最初のページですが、何ページ前にページが設定されているかを示す前にパラメータを追加したいので、何ページを続けて表示できるかを示すことができます。私は明確に表示されていないドキュメントに目を通すために複数回言われてきたが、正直に言うとCakephp 3.3のjsonレスポンスにページ番号を付け加える

{ pages: [pages:5], 
     clients: [ 
    { 
     id: 1, 
     first_name: "Kirby", 
     last_name: "Bonner" 
    }] 
    } 

:私は取得しようとしていますJSONレスポンスの例は、ページがページネータ値であると以下の通りです私がここでやろうとしていることの説明。誰かが私に、これを行う方法を明確に説明しているサンプルまたはドキュメントに指示できるかどうか、本当に感謝します。ありがとうございました。

+0

それが無効でJSONであるように私は、それはあなたが望むことを応答しませんかなり確信しています。 – ndm

+0

この例は、私が得ているjsonに基づいています。私はページを追加しました:[pages:5]、part。 –

答えて

1

私が質問への答えを見つけた:あなたは、クエリを完了した後にページネーションのための検証を配置する必要がhttp://florian-kraemer.net/2015/10/cakephp-angularjs-pagination/

それ以外の場合は、常にfalseを返します。ここで

はコードの例です:

public function index() { 

    $query = $this->Table->find(); 
    if (empty($this->request->params['paging'][$this->Table->alias()])) { 
     $paging = false; 
    } else { 
     $paging = $this->request->params['paging'][$this->Table->alias()]; 
    } 
    $this->set('records', $this->paginate($query)); 
    $this->set('paging', $paging); 
    $this->set('_serialize', ['records', 'paging']); 
    } 
関連する問題