2016-07-22 1 views
0

配列をページングしようとしていますが、私は情報を探していましたが、唯一見つけたのはデータベースから読み込まれたデータのページ番号です。cakePhp 3.xのカスタム配列をデータベースなし

私はこれ持っている:私はページ付けたい何

$departments = $this->paginate($user->Departments); 
foreach ($departments as $d): 
    $processes = "... query ..."; 
    $processes = $this->paginate($processes); 
    foreach ($processes as $p): 
     $aux = array(
      "field1" => $d->name, 
      "field2" => $p->description, 
      array_push($results, $aux); 
    endforeach; 
endforeach; 
$this->set('departments', $results); 

$results変数です。

ありがとうございます。

答えて

0
あなたが take()機能を使用したコレクションのスライスを取りたい時はいつでもあなたは、CakePHPコレクション take()方法

class Cake\Collection\Collection 

Cake\Collection\Collection::`take(int $size, int $from)` 

を使用することができ

、それは価値の最大で数を持つ新しいコレクションを作成します。最初の引数には、2番目の引数で渡された位置から指定します。

 $items = array(); //array items 
     $collection = new Collection(items); 

     $topFive = $collection->sortBy('age')->take(5); 

     //Take 5 people from the collection starting from position 4 
     $nextTopFive = $collection->sortBy('age')->take(5, 4); 

Posiションは、したがって、最初の位置番号は0

http://book.cakephp.org/3.0/en/core-libraries/collections.html#CakeCollectionCollection::take

+0

うーん...それはオプションかもしれないが、私は私のアプリの他の部分では、改ページ自体を実装していないです、私は使用していますで、ゼロベースでありますcakePhpのPaginator。これを使用して任意のオプションを知っていますか? –

関連する問題