Heim  >  Fragen und Antworten  >  Hauptteil

Laravel Yajra-Tabellen-Paging-Serverseite, kann nicht auf die dritte Seite klicken, nachdem auf die zweite Seite geklickt wurde

<p>Im Grunde ist dies die erste Seite (Sie können das erste Bild sehen). Es gibt insgesamt 8 Datenelemente und auf jeder Seite werden 2 Datenelemente angezeigt. Erstes Bild</p> <p>Wenn ich also auf die zweite Seite klicke, geht die dritte Seite verloren und kann nicht angeklickt werden. Sie können das zweite Bild sehen (es ist das zweite Bild von der zweiten Seite, aber wie Sie sehen, gibt es für mich keine Schaltfläche zum Anklicken auf der dritten Seite) </p> <p>Wie Sie unten sehen können, habe ich versucht, die Datentabelle hinzuzufügen und ->setOffset($start) in den Code einzufügen. Aber es funktioniert nicht. Bitte hilft mir jemand.</p> <pre class="brush:php;toolbar:false;">public function reservierungListing(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) als ttl_kid,SUM(event_reservations.total_adults + event_reservations.total_kids) als ttl_pax, SUM(CASE WHEN event_reservations.total_attendees NULL ist, dann 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“ als „event_name“, „outlets.name“ als „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); }</pre></p>
P粉563831052P粉563831052383 Tage vor551

Antworte allen(1)Ich werde antworten

  • P粉988025835

    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);
    }

    Antwort
    0
  • StornierenAntwort