Ik zou alles veranderen waar door waarin zoals:
if($userid){
$q->andWhereIn('a.userid', $userid);
}
if($catID){
$q->andWhereIn('ca.categorie_id', $catID);
}
Ik denk dat dit gebeurt omdat wanneer je de resultaten in de weergave gebruikt, de paginator niet alle records op een rij kan ophalen, dus voor elk item moet de query worden uitgevoerd om alle velden te krijgen.