php – Laravel分页不适用于日期搜索
发布时间:2020-12-14 19:39:28 所属栏目:大数据 来源:网络整理
导读:我的应用程序中有几个搜索表单,其中分页效果很好,但是当涉及到日期搜索时,我只获得第一页,当我尝试转到第二页时,我得到一个未定义的$ticket变量.当我查看URL时,我可以看到它没有将日期值与他一起带到下一页. 这是我的代码: tbody class="searchTable" @fore
我的应用程序中有几个搜索表单,其中分页效果很好,但是当涉及到日期搜索时,我只获得第一页,当我尝试转到第二页时,我得到一个未定义的$ticket变量.当我查看URL时,我可以看到它没有将日期值与他一起带到下一页.
这是我的代码: <tbody class="searchTable"> @foreach($ticket as $tickets) <tr> <td> {{Carbon::parse($tickets->created_at)->format('m/d/Y')}} </td> <td><a href="/ticket/{{$tickets->id}}">{{$tickets->id}}</a></td> <td><a href="/ticket/client/{{$tickets->clientName}}">{{$tickets->clientName}}</a></td> <td> {{Carbon::parse($tickets->dueDate)->format('m/d/Y')}} </td> <td>{{$tickets->refNumber}}</td> <td>{{$tickets->invoiceNumber}}</td> <td>{{$tickets->jobLocation}}</td> <td>{{$tickets->workDescription}}</td> <td>{{$tickets->jobStatus}}</td> </tr> @endforeach </tbody> {!! $ticket->appends(Request::only('_token','search'))->render() !!} 这是控制器: $ticket = DB::table('tickets') ->whereBetween('created_at',[$newDateFrom,$newDateTo]) ->orderBy('created_at','desc') ->paginate(10); return view('ticketsView',compact('ticket')); 解决方法
这是我的解决方案:
我对不同的搜索请求有相同的视图,因此我将结果附加到分页器,以便它也可以在下一页上显示.名称是搜索表单中name属性的值.在我的情况下,我有多个.这是一个例子: {!! $ticket->appends(Request::only(['dateFrom'=>'dateFrom','dateTo'=>'dateTo','search'=>'search','filter'=>'filter','dueDateFrom'=>'dueDateFrom','dueDateTo'=>'dueDateTo']))->render() !!} 因此,如果我的搜索结果将包含在URL dateTo和dateFrom值中,那么它将保存到所有页面.了解这些值来自搜索表单的name属性非常重要. 这是一个例子: <form class="form-horizontal" role="form" method="GET" action="/ticket/searchresults" accept-charset="UTF-8" enctype="multipart/form-data"> <div class="text-centered"> <p><strong>Search by dates:</strong></p> </div> <div class="form-group"> <label for="filter">Select Client (optional)</label> <select class="form-control" name="filter" type="text"> <option disabled selected> -- select client -- </option> @foreach($selectClient as $selectClients) <option value="{{$selectClients->name}}">{{$selectClients->name}}</option> @endforeach </select> </div> <div class="form-group"> <label for="dateFrom">From:</label> <input class="datepicker2 form-control" name="dateFrom" type="text" required/> </div> <div class="form-group"> <label for="dateTo">To:</label> <input class="datepicker2 form-control" name="dateTo" type="text" required/> </div> <button type="submit" class="btn btn-primary"><span class="fa fa-fw fa-search"></span></button> </form> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |