Je rencontre un problème avec la pagination de cakePHP, en particulier lorsque je fais une jointure à gauche. Il y a 6 lignes retournées, et avec une limite de pagination de 3, il devrait calculer 2 pages, mais il calcule 3 pages, la dernière page étant vide. Voici le tableau des options que je passe à paginer:pagination cakePHP avec une jointure à gauche provoque un nombre de pages incorrect
Array ( [fields] => Array ( [0] => DISTINCT Video.id, Video.thumbnail_img, Video.title, Video.description, Video.tags, Video.views, Video.date, (( SELECT COUNT(Rating.id) FROM ratings AS Rating WHERE Rating.rating = 1 AND Rating.video_id = Video.id ) - ( SELECT COUNT(Rating.id) FROM ratings AS Rating WHERE Rating.rating = 0 AND Rating.video_id = Video.id ) ) AS avgRating ) [joins] => Array ( [0] => Array ( [table] => ratings [alias] => Rating [type] => LEFT [conditions] => Array ( [0] => Rating.video_id = Video.id ) ) ) [order] => Array ( [avgRating] => DESC ) )
Des idées pourquoi cela se passe-t-il? Je ne suis pas sûr d'un autre moyen d'obtenir les résultats que je veux sans utiliser la jointure, mais je parie que c'est ce qui cause le problème.
Toutes les suggestions seraient appréciées. Merci!
pouvez-vous nous montrer les instructions SQL que CakePHP produit à partir de votre requête/combien avez-vous? Comment avez-vous appelé la fonction de pagination? –