尝试在路由功能laravel中使用和ID

时间:2016-06-20 10:16:39

标签: php excel laravel routes

您好我正在尝试使用该路线的ID来创建该锦标赛的玩家列表。但是我似乎无法在我的excel创建者中获取ID。

enter image description here

Route::get('toernooien/{id}/spelers/excelexport', function($id){
        Excel::create('Export spelers toernooi '. $id, function($excel) {
            $excel->sheet('Sheetname', function($sheet) {
                $ingeschrevenspelers = \App\UserToernooi::with('users')->where('toernooiid', '=', $id)->get()->all();
                foreach($ingeschrevenspelers as $ingeschrevenspeler){
                    $sheet->row($ingeschrevenspeler->users->id, array(
                        'Voornaam:' . $ingeschrevenspeler->users->voornaam,
                        'Tussenvoegsel:' . $ingeschrevenspeler->users->tussenvoegsel,
                        'Achternaam:' . $ingeschrevenspeler->users->achternaam,
                        'Woonplaats:' . $ingeschrevenspeler->users->woonplaats,
                        'Telefoonnummer:' . $ingeschrevenspeler->users->telefoonnummer,
                        'e-mail:' . $ingeschrevenspeler->users->email,
                    ));
                }
            });

        })->download('xls');
    });

我想在get route函数中使用突出显示的ID 在我的$ ingeschrevenspelers var中获取订阅该锦标赛的用户列表。我尝试在$ excel和$ sheet旁边添加$ id var,但似乎没有任何效果。

我正在使用http://www.maatwebsite.nl/laravel-excel/docs/export 作为excel出口商。

提前致谢

的Jordy

2 个答案:

答案 0 :(得分:2)

在这一行:

Excel::create('Export spelers toernooi '. $id, function($excel) {

您需要将其更改为:

Excel::create('Export spelers toernooi '. $id, function($excel) use ($id) {

因为您需要使用“use”关键字传递将在Anonymous functions内使用的变量

答案 1 :(得分:1)

它将无法使用,因为您在匿名函数中使用它。

更改您的代码

Excel::create('Export spelers toernooi '. $id, function($excel) {

Excel::create('Export spelers toernooi '. $id, function($excel) use ($id) {