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粉563831052
2023-09-04 20:24:03
<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>
J'ai déjà eu la réponse, je viens de changer du code et d'en supprimer :
Voici le code complet de la fonction :