在laravel函数中使用数据有问题,下面是一个示例:
public function csvUnique($id){
$date1= ''.$id.' 00:00:00';
$date2= ''.$id.' 23:59:59';
\Excel::create('Customer list', function ($excel) {
$excel->sheet('Sheetname', function ($sheet) {
echo $date1;
echo $date1;
});
})->export('csv');
} //end csv$id是传递值,如果使用dd($id),我可以看到值。问题是:如何在函数内部传递值date1和date2?
我尝试了全局的,同样的错误:
**Undefined variable: date1**发布于 2015-07-03 10:38:52
您必须将这些变量注入闭包的范围。这是用use完成的
\Excel::create('Customer list', function ($excel) use ($date1, $date2) {
$excel->sheet('Sheetname', function ($sheet) use ($date1, $date2) {
echo $date1;
echo $date1;
});
})->export('csv');在你的情况下,你必须做两次。首先在第一个匿名函数中传递它,然后从那里传递到第二个匿名函数。
看一看this answer,了解整个主题的详细说明。跨越范围边界一节与您的问题特别相关。
https://stackoverflow.com/questions/31204715
复制相似问题