2017-10-14 18 views
1

http://www.maatwebsite.nl/laravel-excel/docsを使用していますが、この関数の外部にある変数にアクセスしようとしています。私はグローバルについて読むが、それは貧弱な解決策のようだ。Laravel Excel - 関数外部変数へのアクセス

Excel::load($request->file, function ($results) { 
    foreach ($results->toArray() as $row) { 
     $rows[] = $row; 
    } 
}); 

上記の機能の外で$rowsにアクセスしたいと思います。これはどのように可能ですか?

答えて

0

私はそれを得た:

$results = Excel::load($request->file); 
$data = $results->toArray(); 

機能を削除し、まだ変更し、私がやってみたかったデータにアクセスすることができました。

0

閉路関数の前後に$ rowsを配列 $rows=[];として宣言するだけで済みます。あなたはまた、閉鎖にuse($rows)を持っている必要があります。

Excel::load($request->file, function ($results) use($rows) { 
foreach ($results->toArray() as $row) { 
    $rows[] = $row; 
} 

});

さもなければ

 $path = $request->file('import_file')->getRealPath(); 
     $data = Excel::load($path, function($reader) { 
     })->get(); 

     dd($data); 
のような他の方法が存在しうる
関連する問題