Lorsque vous utilisez distinct dans vos requête avec pagination il se peut que le total de record soit faut
Pour éviter le problème, spécifiez à pagination sur quel champ il doit faire son count
$users = User::distinct()
->join(...)
->join(...)
->where(...)
->pagination(100,['users.id']);