

findにて繰り返しデータを取得し、データを追加していくにはどのようにすべきでしょうか。  
ちょっと文字では伝えにくく、下記に例を添付します。  
（jqueryのajaxにより、JSONを返すような内容です。）

1回目格納時に$aaaはobject型で[{...},{...}]となりますが、  
下記のようにarray_pushすると、[{...},{...}][{...},{...},{...}]となります。  
[{...},{...},{...},{...},{...}]のように追加するにはどのようにしたら良いでしょうか？  
※一度に取得するのでなく、分けて取得している理由は、データが膨大で、メモリが高くなり、  
エラーとなる為です。（例は全5件ですが、実際は何万と取得することがあります）

[code]

    //1回目
    $query = $this->Lists->find();
    $lists = $query->limit(2)->offset(0);
    
    $response = $this->response;  
    $response->getBody()->write(json_encode($list1s));
    
    //変数に格納
    $aaa = $response;
    
    //2回目
    $list1s = $query->limit(3)->offset(2);
    $response = $this->response;
    $response->getBody()->write(json_encode($list1s));
    
    //データを変数に追加
    array_push($aaa, $response);
    
    return $aaa;
    
[/code]


CC BY-SA 3.0
2018-01-05T02:32:07.950
40732
2020-03-27T04:04:25.803
26840
question
php cakephp
cakephp3 オブジェクト型へのデータ追加について


lists → jsonエンコード → responseへjsonを書き込み とやっているわけですから  
lists ← jsonデコード ← responseからjsonを読み出し としないと、筋が通りません。

何かの理由で処理を調整できないなら、上記のように必要なものを取り出してください。  
1関数内の話なら、lists同士を直接繋げるのが一番手っ取り早いです。

ちなみにサンプルコードは不自然にlistsやlist1sになってたりするので、  
そこら辺の凡ミスもないか確認しましょう。

また細かい話ですが、listsで名前が妥当かも検討しましょう。  
これだとlistのコレクション、というニュアンス、つまりコレクションのコレクション、  
となります。


CC BY-SA 3.0
2018-01-16T07:55:58.723
41005
2018-01-16T07:55:58.723
25396
40732
answer