UPD: не 100% удовлетворяющий требованиям, но рабочий подход
//шаманим постраничную навигацию вручную
$paginate = 10;
$page = Input::get('page', 1);
$offSet = ($page * $paginate) - $paginate;
//забираем все записи и сортируем их
$records = Revision::select(
'revisionable_id',
'revisionable_type',
'user_id',
DB::raw("DATE_FORMAT(created_at, '%Y-%m-%d') as created"),
DB::raw('count(*) as total')
)
->groupBy('revisionable_id','revisionable_type','user_id','created')
->orderBy('created','desc')
->get();
//выбираем записи для нужной страницы
if($page==1){
$sliced = collect($records)->slice(0,$paginate)->all();
}else{
$sliced = collect($records)->slice($offSet, $paginate)->all();
}
//отправляем все в view
$revisions = new Paginator($sliced, count($records), $paginate, $page);
//не забываем поправить путь ссылок в постраничной навигации
$revisions = $revisions->setPath('/revisions');