我在页面上有表格,列出了用户拥有的所有订单。每个订单可以包含一个或多个附加文档和一个下载按钮。基本上,如果用户有2个订单,他的页面上将有2个按钮
<a href="#files-{{ $download->order_id }}">Download</a> // order 1
<a href="#files-{{ $download->order_id }}">Download</a> // order 2
单击按钮是打开的模式窗口,其中列出了文件并链接到下载。
这是模态窗口
<span id="start" class="target"></span>
<span id="files-{{ $download->order_id }}" class="target"></span>
<div class="modal">
<div class="content vertical-align-middle">
<h2>Click on the button to download it</h2>
<table class="table table-striped">
<thead id="tblHead">
<tr>
<th align="center">File</th>
<th align="center">Action</th>
</tr>
</thead>
<tbody>
@foreach($downloadableOrders as $files)
@if($files->status == 1)
{{--*/ $ids = explode(",", $files->docname); /*--}}
@foreach ($ids as $id)
<tr>
<td></td>
<td><a href="{{ URL::to('/files/download/' . $id . '?_token=' . csrf_token()) }}">Download</a></td>
</tr>
@endforeach
@endif
@endforeach
</tbody>
</table>
<a class="close-btn" href="#start">X</a>
</div>
</div>
这是使用的查询
$downloadableOrders = Order::where('user_id', getCurrentUser()->user_id)
->select("orders.*",\DB::raw("GROUP_CONCAT(documents.id ) as docname"))
->leftjoin("documents",\DB::raw("FIND_IN_SET(documents.id,orders.order_downloadable)"),">",\DB::raw("'0'"))
->groupBy("orders.order_id")
->paginate(10);
问题是,当模态打开时,它会列出所有订单和所有文件。应该仅为单击的订单列出文件。
答案 0 :(得分:0)
您必须使用ajax打开模态框。所以你需要做的是当你点击下载链接ajax将执行,获取数据并在模态框中显示它。