Laravel擅长传递一个观点

我试图导出数据到Excel,我似乎无法使其工作。 我正在使用: http : //www.maatwebsite.nl/laravel-excel/docs

我尽可能地跟踪文档。 所以我有这个观点,我想在Excel中获得。 文件告诉我:

为单张纸张加载视图

$sheet->loadView('folder.view'); 

所以我这样做,当然(我当然)我得到一个错误说,在视图中的variables没有被拒绝,因为我没有把variables传递到视图。 所以我再次阅读文档,它说:

将variables传递给视图

或者,您可以使用与Laravel视图相同的with()方法。

用一个基本with()例子。

所以现在我有我的控制器function:

 public function something(){ $something2=''; $something=''; Excel::create('Laravel Excel', function($excel) { $excel->sheet('Excel sheet', function($sheet) { $sheet->loadView('something')->with('something',$something) ->with('something2',$something2); $sheet->setOrientation('landscape'); }); })->export('xls'); } 

现在我在控制器中得到一个错误:

未定义的variables$的东西

所以我不知道会发生什么事。 我保持积极,认为这将是一件容易的事情,实际上没有被宣布的东西,所以我删除了从Excel导出。 然后它给了我错误:

未定义的variables$ something2

在此之后,我知道还有其他的错误。 由于两者都不是根据excel的创build来“定义”的。 所以我尝试了一些新的东西。 在Excel创build中声明两个variables。 虽然在声明variables和创buildexcel之间有更多的代码。 所以这是行不通的。 所以代码是这样的:

 $something2=''; $something=''; //more code if($check==true){ Excel::create('Laravel Excel', function($excel) { 

所以我仍然坚持。

这里怎么了? 我误解了这个excel创作的东西吗?

我认为这可能是问题,因为你正在使用的东西,variables是不可访问的,而不定义它们的使用。

 public function something(){ $something2=''; $something=''; Excel::create('Laravel Excel', function($excel) use ($something, $something2) { $excel->sheet('Excel sheet', function($sheet) use ($something, $something2) { $sheet->loadView('something')->with('something',$something) ->with('something2',$something2); $sheet->setOrientation('landscape'); }); })->export('xls'); }