将 Collection 从 Blade 传递给控制器

Passing Collection from Blade to Controller

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

我正在像这样将数据传递给 blade

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

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

public function exportToCSV(Document $reports)  

这将创建一个 CSV 文件,该文件将被下载,包括 $reports

中的每个条目

我在谷歌上搜索了很多,甚至有人帮我解决了这个问题,但都无济于事。

实现此目的的一种方法是使用表单。您可以有一个隐藏的输入,以集合作为值。您将为 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;
}