Ich würde alles wo ändern von whereIn wie:
if($userid){
$q->andWhereIn('a.userid', $userid);
}
if($catID){
$q->andWhereIn('ca.categorie_id', $catID);
}
Ich denke, das passiert, weil, wenn Sie die Ergebnisse in der Ansicht verwenden, der Paginator nicht alle Datensätze in einer Reihe abrufen kann, also muss für jedes Element die Abfrage durchgeführt werden, um alle Felder zu erhalten.