所以基本上,这是第一页(可能看到第一张图片),总共有8个数据,每页会显示2个数据。First Picture
所以当我点击第二页的时候,第三页就会丢失,无法点击。可以看到第二张图片(This is the second picture at the second page, but as u can see there's no button for me to click the third page)
因此,正如你在下面看到的,我尝试添加Datatables并在代码中放入-〉setOffset($start)。但它不起作用。请任何人帮助我。
public function reservationListing(Request $request)
{
$req = $request->all();
$query = EventReservation::selectRaw("reservation_date,event_reservations.outlet_id,event_reservations.event_id,SUM(event_reservations.total_adults) as ttl_adult,
SUM(event_reservations.total_kids) as ttl_kid,SUM(event_reservations.total_adults + event_reservations.total_kids) as ttl_pax,
SUM(CASE WHEN event_reservations.total_attendees is NULL then 0 Else event_reservations.total_attendees End) as ttl_attended,
SUM(CASE WHEN payment_status = 'pending' THEN 1 ELSE 0 END) as ttl_pending,SUM(CASE WHEN payment_status = 'paid' THEN 1 ELSE 0 END) as ttl_paid,
events.name as event_name,outlets.name as outlet_name")
->leftjoin("events", "events.id", "=", "event_reservations.event_id")
->leftjoin("outlets", "outlets.id", "=", "event_reservations.outlet_id")
->groupby('reservation_date')
->groupby('outlet_id')
->groupby('event_id');
if (!empty($req['date_to']) && !empty($req['date_to'])) {
$query->whereRaw("DATE(reservation_date) BETWEEN '".$req['date_from']."' AND '".$req['date_to']."'");
}
if (!empty($req['outlet_id'])) {
$query->where("event_reservations.outlet_id", $req['outlet_id']);
}
if (!empty($req['event_id'])) {
$query->where("event_reservations.event_id", $req['event_id']);
}
if (!empty($req['start'])) {
$query->skip($req['start']);
}
if (!empty($req['start'])) {
$query->take($req['length']);
}
$query->orderBy("reservation_date");
$reservationList = $query->get();
$start = ($request->start) ? $request->start : 0;
return Datatables::of($reservationList)
->setOffset($start)
->addIndexColumn()
->make(true);
}
1条答案
按热度按时间x6492ojm1#
我已经得到了答案,我只是修改了一些代码并删除了一些代码:
这是该函数的完整代码: