cari

Rumah  >  Soal Jawab  >  teks badan

Laravel yajra table paging server side, tidak boleh mengklik halaman ketiga selepas mengklik halaman kedua

<p>Pada asasnya, ini adalah halaman pertama (anda boleh melihat gambar pertama terdapat 8 keping data secara keseluruhan, dan 2 keping data akan dipaparkan pada setiap halaman. Gambar pertama</p> <p>Jadi apabila saya mengklik pada halaman kedua, halaman ketiga hilang dan tidak boleh diklik. Anda boleh melihat imej kedua (ia adalah imej kedua dari halaman kedua, tetapi seperti yang anda lihat, tiada butang untuk saya klik pada halaman ketiga) </p> <p>Seperti yang anda lihat di bawah, saya cuba menambah jadual data dan meletakkan ->setOffset($start) ke dalam kod. Tetapi ia tidak berfungsi. Tolong sesiapa tolong saya.</p> <pre class="brush:php;toolbar:false;">public function reservationlisting(Minta $request) { $req = $request->semua(); $query = EventReservation::selectRaw("reservation_date,event_reservations.outlet_id,event_reservations.event_id,SUM(event_reservations.total_dewasa) sebagai ttl_dewasa, SUM(event_reservations.total_kids) sebagai ttl_kid,SUM(event_reservations.total_dewasa + event_reservations.total_kids) sebagai ttl_pax, JUMLAH(KES APABILA tempahan_kejadian.jumlah_peserta adalah NULL kemudian 0 tempahan_kejadian lain.jumlah_peserta Berakhir) sebagaimana ttl_hadiri, JUMLAH(KES KETIKA status_pembayaran = 'tertunda' KEMUDIAN 1 LAIN 0 TAMAT) sebagai ttl_tertunda,SUM(KES KETIKA status_pembayaran = 'dibayar' KEMUDIAN 1 LAIN 0 TAMAT) sebagai ttl_dibayar, events.name sebagai event_name, outlets.name sebagai outlet_name") ->leftjoin("events", "events.id", "=", "event_reservations.event_id") ->leftjoin("outlet", "outlet.id", "=", "event_reservations.outlet_id") ->groupby('reservation_date') ->groupby('outlet_id') ->groupby('event_id'); jika (!kosong($req['tarikh_kepada']) && !kosong($req['tarikh_kepada'])) { $query->whereRaw("TARIKH(tarikh_tempahan) ANTARA '".$req['tarikh_dari']."' DAN '".$req['tarikh_kepada']."'"); } jika (!kosong($req['outlet_id'])) { $query->where("event_reservations.outlet_id", $req['outlet_id']); } jika (!kosong($req['event_id'])) { $query->where("event_reservations.event_id", $req['event_id']); } jika (!kosong($req['mula'])) { $query->skip($req['start']); } jika (!kosong($req['mula'])) { $query->take($req['length']); } $query->orderBy("tarikh_tempahan"); $reservationList = $query->get(); $start = ($request->start) ? $request->start : 0; kembalikan Datatables::of($reservationList) ->setOffset($mula) ->addIndexColumn() ->buat(benar); }</pre></p>
P粉563831052P粉563831052449 hari yang lalu596

membalas semua(1)saya akan balas

  • P粉988025835

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

    Saya sudah mendapat jawapannya, saya hanya menukar beberapa kod dan memadamkan beberapa kod:

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

    Ini adalah kod lengkap fungsi:

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

    balas
    0
  • Batalbalas