Annywebart
@Annywebart

Сортировка по связям с пагинацией в Laravel 4.2?

Подскажите, пожалуйста, как реализовать сортировку по связям (с пагинацией) в Laravel 4.
Пробовала сделать так:
$sortBy = Request::get('sortBy');
$direction = Request::get('direction');
$limit = 10;
$query = new Page;
if ($sortBy && $direction) {
                $page = Request::get('stranitsa', 1);
                if($direction == 'asc') {
                    $pages = $query->skip($limit * ($page - 1))->take($limit)->get()
                        ->sortBy(function($q) use($sortBy) {
                            return $q->$sortBy->count();
                        });
                } else {
                    $pages = $query->sortBy(function($q) use($sortBy) {
                            return $q->$sortBy->count();
                        })->reverse();
                }
                $pages = Paginator::make($pages->all(), count($pages), $limit);
        } else {
            $query = $query->orderBy('created_at', 'DESC');
            $pages = $query->paginate($limit);
        }

Все хорошо до того момента, пока записи помещаются на 1 страницу. Как только записей больше 10-ти, сортировка перестает работать, а пагинация не появляется.
Подскажите, пожалуйста, в чем ошибка или, возможно, какой-то лучший вариант сортировки по связям.
  • Вопрос задан
  • 420 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы