刀片模板中的模态窗口显示所有记录而不是选定的ID

时间:2017-07-21 07:00:56

标签: php laravel laravel-4 laravel-blade

我在页面上有表格,列出了用户拥有的所有订单。每个订单可以包含一个或多个附加文档和一个下载按钮。基本上,如果用户有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);

问题是,当模态打开时,它会列出所有订单和所有文件。应该仅为单击的订单列出文件。

1 个答案:

答案 0 :(得分:0)

您必须使用ajax打开模态框。所以你需要做的是当你点击下载链接ajax将执行,获取数据并在模态框中显示它。