LaravelでChunkを使用して、配列に値を入れて取得したいときになぜか空になる

 

$data = [];
Capsule::connection('products')
   ->table('products')
   ->orderBy('id', 'ASC')
   ->chunk(10, function ($products) {
        $data[] = $products;
});

chunkを使ってデータを分割して取得したものを配列に入れたいときに、
array()
としか返ってこない。

$data = [];
Capsule::connection('products')
    ->table('products')
    ->orderBy('id', 'ASC')
    ->chunk(10, function ($products) use (&$data) {
    $data[] = $products;
});

 

クロージャの使い方が悪かった。
http://php.net/manual/ja/functions.anonymous.php

useを使用して参照渡ししないといけないが、理由はよくわからない・・・。

あとChunkを使用するときは、orderByで指定しなければ使えない