Laravel yajra table paging server side, tidak boleh mengklik halaman ketiga selepas mengklik halaman kedua
P粉563831052
P粉563831052 2023-09-04 20:24:03
0
1
595
<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粉563831052
P粉563831052

membalas semua(1)
P粉988025835

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);
}
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan