将集合从刀片传递到控制器

时间:2020-09-10 18:18:51

标签: php laravel eloquent laravel-blade

我正在开发一个应用程序,需要将数据从Blade传递回控制器

我正在像这样将数据传递到刀片服务器

$reports = $query->paginate();
return view('admin.report', compact('reports'));

这很好用,但是我想要一个按钮来将$ reports集合传递给该函数

public function exportToCSV(Document $reports)  

这将创建一个CSV文件,该文件将下载,包括$ reports中的每个条目

我对此进行了很多搜索,甚至有人帮助我尝试解决这个问题。

1 个答案:

答案 0 :(得分:0)

一种实现此目的的方法是使用表单。您可以具有隐藏的输入,并以集合作为值。您将为表单发送到POST定义一条路由,并从web.php中的路由中调用函数。

    <form action="/route/to/wherever/" method="POST">
     {{ csrf_field() }}
    <input type="hidden"
     name="key"
     value="{{ $collection }}"
      >
    </form>

确保添加一个提交按钮。在您的方法中,您将收到类似以下的集合:

public function myFunction(Request $request){
$data = $request->key;
}