在模型中使用Input :: get()时,Maatwebsite / Laravel-Excel会导出空白excel

时间:2018-11-14 13:38:17

标签: laravel laravel-excel

我开发了一个Laravel应用程序,该应用程序连接到外部MySQL数据库以获取报告。我正在使用Maatwebsite / Laravel-Excel 3.1导出到excel。

在此应用中,我的模型中有一个方法将Input :: get()用于3个变量($ from,$ to,$ paymentType)。每当用户选择日期范围和付款类型作为其报告的过滤器时,都会调用此方法。由于数据显示在我的视图中,因此一切正常。

现在,当用户选择将文件导出到excel时,将调用相同的方法。同样,除了文件以外,所有有效的方法都是空白。

奇怪的是,如果我将所有Input :: get()替换为静态值,例如将“ 2018-11-14”替换为日期,将“ n”替换为支付类型,则文件将导出数据。

>

我已经为此苦苦挣扎了几天,所以我希望有人能帮助我。

谢谢

Ernesto

2 个答案:

答案 0 :(得分:0)

如果参数是从请求中获取的,则应使用$request->input()而不是Input::get()

如果在无法使用$request的函数中使用,则可以使用request('variable')从请求中获取variable的值。

答案 1 :(得分:0)

首先,在控制器文件的顶部,添加:

fab.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        createPopupDialog();
    }
});

然后,您可以通过以下方式访问字段:

use Illuminate\Http\Request;

假设:$request->input('from'); $request->input('to'); from是正确的字段名称。

您也可以直接使用to等(请注意,没有$)。

有关更多信息,请参见此:https://laravel.com/docs/5.6/requests