2016-06-24 2 views
0

Я делаю экспорт файла excel из красноречивой модели с использованием Laravel и Maatwebsite/Laravel-Excel.Переменная область внутри php-функции

Вот что я

public function export(Request $request) 
    { 
     $data = $this->getData($param1)->get(); 
     $export = Excel::create('example' . date('m-d-Y-G-His'), function ($excel) { 
      $excel->setDescription('example'); 
     }); 

     $export->sheet('Example', function ($sheet) { 
      $sheet->row(1, array(
       'row1', 
       'row2', 
       'row3' 
      )); 

      $i = 2; 
      foreach ($data as $d) { 
       $sheet->row($i, array(
        $d->id, 
        $d->name, $d->date, 
       )); 
      } 
     }); 
    } 

И я получаю Undefined переменной: Данные

Я понимаю, что проблема сфера и ошибка правильно, но то, что это лучший способ передать переменную внутри функция?

ответ

1

Вы можете задать PHP, чтобы сделать его доступным в анонимной функции с use ключевого слова:

$export->sheet('Example', function ($sheet) use ($data) { 
+0

Отлично, спасибо! –