公共函数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) 作为 ttl_kid,SUM(event_reservations.total_adults + event_reservations.total_kids) 作为 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 作为 event_name,outlets.name 作为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) ? $请求->开始:0; 返回数据表::of($reservationList) ->setOffset($start) ->addIndexColumn() -> make(真); }</pre></p>
P粉9880258352023-09-05 00:02:32
我已经得到了答案,我只是更改了一些代码并删除了一些代码:
if (!empty($req['start'])) { $query->skip($req['start']); } if (!empty($req['start'])) { $query->take($req['length']); }
这是该函数的完整代码:
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']); } $query->orderBy("reservation_date"); $reservationList = $query->get(); return Datatables::of($reservationList) ->make(true); }