Maison  >  Questions et réponses  >  le corps du texte

Côté serveur de pagination de table Laravel Yajra, impossible de cliquer sur la troisième page après avoir cliqué sur la deuxième page

<p>En gros, il s'agit de la première page (vous pouvez voir la première image). Il y a 8 éléments de données au total, et 2 éléments de données seront affichés sur chaque page. Première photo</p> <p>Ainsi, lorsque je clique sur la deuxième page, la troisième page est perdue et on ne peut pas cliquer dessus. Vous pouvez voir la deuxième image (c'est la deuxième image de la deuxième page, mais comme vous pouvez le voir, il n'y a pas de bouton sur lequel cliquer sur la troisième page) </p> <p>Comme vous pouvez le voir ci-dessous, j'ai essayé d'ajouter la table de données et de mettre ->setOffset($start) dans le code. Mais ça ne marche pas. S'il vous plaît, n'importe qui m'aide.</p> <pre class="brush:php;toolbar:false;">fonction publique bookingListing(Request $request) { $req = $request->all(); $query = EventReservation::selectRaw("reservation_date,event_reservations.outlet_id,event_reservations.event_id,SUM(event_reservations.total_adults) comme ttl_adult, SUM(event_reservations.total_kids) comme ttl_kid, SUM(event_reservations.total_adults + event_reservations.total_kids) comme ttl_pax, SUM (CASE WHEN event_reservations.total_attendees est NULL puis 0 sinon event_reservations.total_attendees End) comme ttl_attended, SUM(CASE WHEN payment_status = 'paid' THEN 1 ELSE 0 END) comme ttl_paid, SUM(CASE WHEN payment_status = 'paid' THEN 1 ELSE 0 END) comme ttl_paid, events.name comme event_name,outlets.name comme 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']); } si (!empty($req['start'])) { $query->skip($req['start']); } si (!empty($req['start'])) { $query->take($req['length']); } $query->orderBy("reservation_date"); $reservationList = $query->get(); $start = ($request->start) ? $request->start : 0; retourner Datatables::of($reservationList) ->setOffset($début) ->addIndexColumn() ->make(true); }</pre></p>
P粉563831052P粉563831052433 Il y a quelques jours590

répondre à tous(1)je répondrai

  • P粉988025835

    P粉9880258352023-09-05 00:02:32

    J'ai déjà eu la réponse, je viens de changer du code et d'en supprimer :

    if (!empty($req['start'])) {
            $query->skip($req['start']);
    
    
        }
    
        if (!empty($req['start'])) {
            $query->take($req['length']);
        }

    Voici le code complet de la fonction :

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

    répondre
    0
  • Annulerrépondre